pick = Heroes.from_ids([1, 5, 28, 65, 12])

"""
Explanation: Heroes initialisation
there are 3 ways to create Heroes object:
1. Heroes.from\_ids() -- takes list of ids as the argument
2. Heroes.from\_names(h) -- takes list of names as the argument
3. Heroes() -- takes list of Hero objects as the argument
End of explanation
"""


print('Names =', pick.get_names(), '\n')

print('IDs:')
print(pick.get_ids())

"""
Explanation: Basic information
with this functions you can get some basic information about set of heroes in the object.
End of explanation
"""


print(pick.get_ids(binarised=True).shape[0])

"""
Explanation: In the few papers I read about DotA binary encoded set of heroes ids were used to represent pick. get_ids() with binarised=True returns One-Hot encoded heroes ids on the vector of all the heroes ids.
End of explanation
"""


print(pick.get_description(include=['laning', 'role']))

"""
Explanation: get_description() works the same way it does for single Hero, except name and id columns will be removed from description, because result is the sum of parameters between heroes in the Heroes object.
End of explanation
"""


