ComenzarEmpieza gratis

Bucle for de conversión holística

Se ha cargado en tu sesión una lista de todos los tipos de Pokémon posibles como pokemon_types. Se ha impreso en la consola para mayor comodidad.

Te gustaría reunir todas las parejas posibles 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.

Para realizar esta tarea se escribió el bucle siguiente:

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 utilizando 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. Utilízalo para crear una lista llamada possible_pairs que contenga todas las parejas posibles de tipos de Pokémon (cada pareja tiene 2 tipos de Pokémon).
  • Crea una lista vacía llamada enumerated_tuples encima del bucle for.
  • Utiliza una función integrada para convertir cada tupla de enumerated_tuples en una lista.

Ejercicio interactivo práctico

Prueba este ejercicio completando 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