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

Connected

Exercice

Totaux et moyennes des Pokémon sans boucle

Une liste de 720 Pokémon a été chargée dans votre session sous le nom names. Les statistiques correspondantes de chaque Pokémon ont été chargées dans un tableau NumPy appelé stats. Chaque rangée de stats correspond à un Pokémon de names et chaque colonne représente une statistique individuelle du Pokémon (HP, Attack, Defense, Special Attack, Special Defense et Speed, respectivement.)

Vous voulez recueillir la valeur totale des statistiques de chaque Pokémon (c.-à-d. la somme de chaque rangée dans stats) et la valeur moyenne des statistiques de chaque Pokémon (c.-à-d. la moyenne de chaque rangée dans stats) afin de trouver le Pokémon le plus fort.

La boucle for ci-dessous a été écrite pour recueillir ces valeurs :

poke_list = []

for pokemon,row in zip(names, stats):
    total_stats = np.sum(row)
    avg_stats = np.mean(row)
    poke_list.append((pokemon, total_stats, avg_stats))

Instructions

100 XP
  • Remplacez la boucle for ci-dessus en utilisant NumPy :
    • Créez un tableau des totaux (total_stats_np) avec la méthode .sum() en précisant l'axe approprié.
    • Créez un tableau des moyennes (avg_stats_np) avec la méthode .mean() en précisant l'axe approprié.
    • Créez une liste de sortie finale (poke_list_np) en combinant la liste names, le tableau total_stats_np et le tableau avg_stats_np.