Récapitulatif Profilage Star Wars
Une liste de 480 super-héros a été chargée dans votre session (appelée heroes
), ainsi qu'une liste des éditeurs correspondants à chaque héros (appelée publishers
).
Vous souhaitez filtrer la liste heroes
en fonction de l'éditeur spécifique d'un héros, 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
Cet exercice fait partie du cours
Écrire du code Python efficace
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))