Підсумок: профілювання Star Wars
До вашої сесії завантажено список із 480 супергероїв (heroes) та список відповідних видавців для кожного героя (publishers).
Ви хочете відфільтрувати список heroes за конкретним видавцем героя, але не певні, яка з наведених нижче функцій ефективніша.
def get_publisher_heroes(heroes, publishers, desired_publisher):
desired_heroes = []
for i,pub in enumerate(publishers):
if pub == desired_publisher:
desired_heroes.append(heroes[i])
return desired_heroes
def get_publisher_heroes_np(heroes, publishers, desired_publisher):
heroes_np = np.array(heroes)
pubs_np = np.array(publishers)
desired_heroes = heroes_np[pubs_np == desired_publisher]
return desired_heroes
Ця вправа є частиною курсу
Ефективне написання коду Python
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Use get_publisher_heroes() to gather Star Wars heroes
star_wars_heroes = get_publisher_heroes(____, ____, ____)
print(star_wars_heroes)
print(type(star_wars_heroes))
# Use get_publisher_heroes_np() to gather Star Wars heroes
star_wars_heroes_np = get_publisher_heroes_np(____, ____, ____)
print(star_wars_heroes_np)
print(type(star_wars_heroes_np))