Zacznij terazZacznij za darmo

Całościowa konwersja w pętli

Lista wszystkich możliwych typów Pokémonów została wczytana do twojej sesji jako pokemon_types. Dla wygody jest wyświetlana w konsoli.

Chcesz zebrać wszystkie możliwe pary typów Pokémonów. Każdą z tych par zamierzasz przechować w osobnej liście, w której pierwszym elementem jest indeks wyliczeniowy. Dzięki temu możesz zobaczyć łączną liczbę możliwych par i przypisać każdej z nich etykietę z indeksem.

Poniższa pętla została napisana w celu wykonania tego zadania:

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)

Sprawmy, że ta pętla będzie bardziej wydajna, korzystając z całościowej konwersji.

To ćwiczenie jest częścią kursu

Wydajny kod w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Funkcja combinations z modułu itertools została wczytana do twojej sesji. Użyj jej, aby utworzyć listę possible_pairs zawierającą wszystkie możliwe pary typów Pokémonów (każda para składa się z 2 typów).
  • Utwórz pustą listę o nazwie enumerated_tuples powyżej pętli for.
  • Użyj wbudowanej funkcji, aby przekonwertować każdą krotkę z listy enumerated_tuples na listę.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod