1. Learn
  2. /
  3. Курси
  4. /
  5. Ефективне написання коду Python

Connected

вправа

Підсумок: профілювання 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

Інструкції 1/4

undefined XP
    1
    2
    3
    4
  • Скористайтеся функціями get_publisher_heroes() і get_publisher_heroes_np(), щоб зібрати героїв зі всесвіту Star Wars. Для Star Wars значення desired_publisher — 'George Lucas'.