1. Apprendre
  2. /
  3. Cours
  4. /
  5. Rédiger du code Python efficace

Connected

Exercice

Tout rassembler : profilage Star Wars

Une liste de 480 superhéros a été chargée dans votre session (appelée heroes), ainsi qu'une liste de l'éditeur correspondant à chaque héros (appelée publishers).

Vous souhaitez filtrer la liste heroes en fonction d'un éditeur précis, mais vous ne savez pas laquelle des fonctions ci-dessous est la plus efficace.

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

Instructions 1/4

undefined XP
    1
    2
    3
    4
  • Utilisez les fonctions get_publisher_heroes() et get_publisher_heroes_np() pour recueillir les héros de l'univers Star Wars. La valeur de desired_publisher pour Star Wars est 'George Lucas'.