Bucle de conversión holística
Se ha cargado en tu sesión una lista con todos los posibles tipos de Pokémon como pokemon_types. Para que te resulte más cómodo, ya se ha impreso en la consola.
Quieres obtener todos los posibles pares de tipos de Pokémon. Quieres almacenar cada uno de estos pares en una lista individual con un índice enumerado como primer elemento de cada lista. Esto te permite ver el número total de pares posibles y proporciona una etiqueta indexada para cada par.
El siguiente bucle se escribió para realizar esta tarea:
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)
Hagamos este bucle más eficiente usando una conversión holística.
Este ejercicio forma parte del curso
Escribir código Python eficiente
Instrucciones del ejercicio
combinationsdel móduloitertoolsse ha cargado en tu sesión. Úsalo para crear una lista llamadapossible_pairsque contenga todos los posibles pares de tipos de Pokémon (cada par tiene2tipos de Pokémon).- Crea una lista vacía llamada
enumerated_tuplesencima del bucle for. - Usa una función incorporada para convertir cada tupla de
enumerated_tuplesen una lista.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)