ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • combinations del módulo itertools se ha cargado en tu sesión. Úsalo para crear una lista llamada possible_pairs que contenga todos los posibles pares de tipos de Pokémon (cada par tiene 2 tipos de Pokémon).
  • Crea una lista vacía llamada enumerated_tuples encima del bucle for.
  • Usa una función incorporada para convertir cada tupla de enumerated_tuples en 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)
Editar y ejecutar código