Bütüncül dönüştürme döngüsü
Tüm olası Pokémon türlerinin bir listesi oturumuna pokemon_types olarak yüklendi. Kolaylık olması için konsola yazdırıldı.
Tüm olası Pokémon türü çiftlerini toplamak istiyorsun. Bu çiftlerin her birini, her listenin ilk elemanı numaralandırılmış bir indeks olacak şekilde ayrı bir liste içinde saklamak istiyorsun. Bu, olası çiftlerin toplam sayısını görmeni sağlar ve her çift için indeksli bir etiket sunar.
Aşağıdaki döngü bu işi yapmak için yazıldı:
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)
Haydi bu döngüyü bütüncül bir dönüştürme kullanarak daha verimli hale getirelim.
Bu egzersiz
Verimli Python Kodu Yazmak
kursunun bir parçasıdırEgzersiz talimatları
itertoolsmodülündencombinationsoturumuna yüklendi. Onu kullanarak, tüm olası Pokémon türü çiftlerini içeren (her çift2Pokémon türünden oluşur)possible_pairsadlı bir liste oluştur.- For döngüsünün üstünde
enumerated_tuplesadlı boş bir liste oluştur. enumerated_tuplesiçindeki her bir demeti (tuple) bir listeye dönüştürmek için yerleşik bir fonksiyon kullan.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)