Buclă cu conversie holistică
O listă cu toate tipurile posibile de Pokémon a fost încărcată în sesiunea ta sub numele pokemon_types. Aceasta a fost afișată în consolă pentru referință.
Vrei să aduni toate perechile posibile de tipuri de Pokémon. Dorești să stochezi fiecare pereche într-o listă individuală, cu un index enumerat ca prim element al fiecărei liste. Astfel poți vedea numărul total de perechi posibile și fiecare pereche primește o etichetă indexată.
Bucla de mai jos a fost scrisă pentru a îndeplini această sarcină:
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)
Hai să facem această buclă mai eficientă folosind o conversie holistică.
Acest exercițiu face parte din cursul
Scriere eficientă a codului Python
Instrucțiuni pentru exercițiu
- Modulul
itertoolsa fost importat, iarcombinationseste disponibil în sesiunea ta. Folosește-l pentru a crea o listă numităpossible_pairscare să conțină toate perechile posibile de tipuri de Pokémon (fiecare pereche are2tipuri de Pokémon). - Creează o listă goală numită
enumerated_tuplesdeasupra buclei for. - Folosește o funcție built-in pentru a converti fiecare tuplu din
enumerated_tuplesîntr-o listă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)