ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Modulul itertools a fost importat, iar combinations este disponibil în sesiunea ta. Folosește-l pentru a crea o listă numită possible_pairs care să conțină toate perechile posibile de tipuri de Pokémon (fiecare pereche are 2 tipuri de Pokémon).
  • Creează o listă goală numită enumerated_tuples deasupra 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)
Editează și rulează codul