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
Pokyny k cvičení
- Do tvé session byla načtena funkce
combinationsz moduluitertools. Použij ji k vytvoření seznamupossible_pairs, který bude obsahovat všechny možné dvojice typů Pokémonů (každá dvojice obsahuje2typy). - 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_tuplesna 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)