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

Connected

Exercice

Rassembler des Pokémon sans boucle

Une liste de 720 Pokémon a été chargée dans votre session sous le nom poke_names. Une autre liste contenant la génération correspondante de chaque Pokémon a été chargée sous le nom poke_gens.

Une boucle for a été créée pour filtrer les Pokémon qui appartiennent aux générations un ou deux et pour recueillir le nombre de lettres dans le nom de chaque Pokémon :

gen1_gen2_name_lengths_loop = []

for name,gen in zip(poke_names, poke_gens):
    if gen < 3:
        name_length = len(name)
        poke_tuple = (name, name_length)
        gen1_gen2_name_lengths_loop.append(poke_tuple)

Instructions

100 XP
  • Éliminez la boucle for ci-dessus en utilisant une compréhension de liste et la fonction map() :

    • Utilisez une compréhension de liste pour recueillir chaque Pokémon appartenant à la génération 1 ou à la génération 2. Enregistrez le résultat dans gen1_gen2_pokemon.
    • Utilisez la fonction map() pour calculer le nombre de lettres du nom de chaque Pokémon dans la liste gen1_gen2_pokemon. Enregistrez cet objet map sous le nom name_lengths_map.
    • Combinez gen1_gen2_pokemon et name_lengths_map dans une liste appelée gen1_gen2_name_lengths.