Boucle de conversion holistique
Une liste de tous les types de Pokémon possibles a été chargée dans votre session à l'adresse pokemon_types
. Elle a été imprimée dans la console pour plus de commodité.
Vous souhaitez rassembler toutes les paires possibles de types de Pokémon. Vous souhaitez stocker chacune de ces paires dans une liste individuelle avec un index énuméré comme premier élément de chaque liste. Cela vous permet de voir le nombre total de paires possibles et fournit une étiquette indexée pour chaque paire.
La boucle ci-dessous a été écrite pour accomplir cette tâche :
enumerated_pairs = []
for i,pair in enumerate(possible_pairs, 1):
enumerated_pair_tuple = (i,) + pair
enumerated_pair_list = list(enumerated_pair_tuple)
enumerated_pairs.append(enumerated_pair_list)
Rendons cette boucle plus efficace en utilisant une conversion holistique.
Cet exercice fait partie du cours
Écrire du code Python efficace
Instructions
combinations
du moduleitertools
a été chargé dans votre session. Utilisez-le pour créer une liste appeléepossible_pairs
qui contient toutes les paires possibles de types de Pokémon (chaque paire a2
types de Pokémon).- Créez une liste vide appelée
enumerated_tuples
au-dessus de la boucle for. - Utilisez une fonction intégrée pour convertir chaque tuple de
enumerated_tuples
en une liste.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Collect all possible pairs using combinations()
possible_pairs = [*____(pokemon_types, ____)]
# Create an empty list called enumerated_tuples
____ = ____
for i,pair in enumerate(possible_pairs, 1):
enumerated_pair_tuple = (i,) + pair
enumerated_tuples.append(enumerated_pair_tuple)
# Convert all tuples in enumerated_tuples to a list
enumerated_pairs = [*____(____, enumerated_tuples)]
print(enumerated_pairs)