chain
- Python kursu
- Orta seviye
- Ders 94/116
- 5 dk
itertools.chain ile zincirleme öğrenirsin.
chain
chain, itertools modülünden gelen ve birden çok yinelenebilir nesneyi tek bir yinelenebilir nesne gibi birleştiren işlevdir. İç içe liste oluşturmadan sıralı erişim sağlar.
Örnek: list(chain([1, 2], [3, 4])) çağrısı [1, 2, 3, 4] döndürür. chain, tüm öğeleri tek tek dolaşır; yeni bir liste üretmez, yalnızca yineleyici verir. Bellek tasarrufu için iyidir; büyük verileri birleştirirken kopya oluşturmaz.
Yineleyici döndürür
chain doğrudan liste değil, yineleyici (iterator) döndürür. Sonucu görmek için list() ya da for döngüsü kullanırsın. Bu, bellek açısından verimlidir; tüm öğeler aynı anda belleğe yüklenmez.
İç içe listeleri düzleştirmek için chain.from_iterable([[1, 2], [3, 4]]) biçimini kullanabilirsin. Bu, chain(*[[1, 2], [3, 4]]) ile aynı sonucu verir ama tek argümanla çalışır. Dinamik olarak üretilmiş yinelenebilir nesneler için idealdir.
Uygulama chain ile listeleri birleştir
from itertools import chain ile başla. result = list(chain([1, 2], [3, 4])) ile iki listeyi birleştir. Sonra print(result) ile sonucu yazdır.
Başlangıç kodu
# chain ile iki listeyi birleştirÖrnek çözüm
# chain ile iki listeyi birleştir
from itertools import chain
result = list(chain([1, 2], [3, 4]))
print(result)Beklenen çıktı
[1, 2, 3, 4]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 chain hangi modülden gelir?
- functools
- collections
- itertools Doğru cevap
- typing
Açıklama: chain itertools modülündedir.
2 chain import satırı
from itertools import ____
result = list(chain([1, 2], [3, 4]))
print(result)
from itertools import chain
result = list(chain([1, 2], [3, 4]))
print(result)
Açıklama: chain itertools modülünden alınır.
3 chain parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
chain |
Birleştirme işlevi |
[1, 2], [3, 4] |
İki yinelenebilir |
list(...) |
Sonucu listele |
from_iterable |
Dinamik düzleştirme |