1. Learn
  2. /
  3. Cursuri
  4. /
  5. Scriere eficientă a codului Python

Connected

exercițiu

Totul laolaltă: profilarea universului Star Wars

O listă cu 480 de supereroi a fost încărcată în sesiunea ta (numită heroes), împreună cu o listă a editorului corespunzător fiecărui erou (numită publishers).

Vrei să filtrezi lista heroes în funcție de editorul unui erou, dar nu ești sigur care dintre funcțiile de mai jos este mai eficientă.

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

Instrucțiuni 1/4

undefined XP
    1
    2
    3
    4
  • Folosește funcția get_publisher_heroes() și funcția get_publisher_heroes_np() pentru a colecta eroii din universul Star Wars. Valoarea desired_publisher pentru Star Wars este 'George Lucas'.