Začněte nyníZačněte zdarma

Hromadná konverze ve smyčce

Do tvé session byl načten seznam všech možných typů Pokémonů jako pokemon_types. Pro přehled je vypsán v konzoli.

Chceš získat všechny možné dvojice typů Pokémonů a každou z nich uložit do samostatného seznamu, kde první prvek bude číselný index. Díky tomu uvidíš celkový počet možných dvojic a každá bude mít přiřazený index.

K tomuto účelu byla napsána následující smyčka:

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)

Zkusme tuto smyčku zefektivnit pomocí hromadné konverze.

Toto cvičení je součástí kurzu

Psaní efektivního kódu v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Do tvé session byla načtena funkce combinations z modulu itertools. Použij ji k vytvoření seznamu possible_pairs, který bude obsahovat všechny možné dvojice typů Pokémonů (každá dvojice obsahuje 2 typy).
  • Nad for smyčkou vytvoř prázdný seznam s názvem enumerated_tuples.
  • Pomocí vestavěné funkce převeď každou n-tici v enumerated_tuples na seznam.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód