Kom igångKom igång gratis

Holistisk konverteringsslinga

En lista med alla möjliga Pokémon-typer har laddats in i din session som pokemon_types. Den har skrivits ut i konsolen för din bekvämlighet.

Du vill samla alla möjliga par av Pokémon-typer. Varje par ska lagras i en egen lista där ett enumrerat index är det första elementet. Det gör att du kan se det totala antalet möjliga par och ger varje par en indexerad etikett.

Nedanstående slinga skrevs för att lösa den här uppgiften:

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)

Låt oss göra den här slingan mer effektiv med hjälp av en holistisk konvertering.

Den här övningen är en del av kursen

Att skriva effektiv Python-kod

Visa kurs

Övningsinstruktioner

  • combinations från modulen itertools har laddats in i din session. Använd den för att skapa en lista kallad possible_pairs som innehåller alla möjliga par av Pokémon-typer (varje par består av 2 Pokémon-typer).
  • Skapa en tom lista kallad enumerated_tuples ovanför for-slingan.
  • Använd en inbyggd funktion för att konvertera varje tupel i enumerated_tuples till en lista.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod