Döngü yazmaktan sıkılıp kodu tek satıra sığdırmak isteyenlerin kurtarıcısı olan bu yapıyı bilmemek artık kabul edilmiyor, işte en pratik kullanım örnekleri.
Python’da list comprehension, bir döngüyü ve şartları tek satırda birleştirerek yeni bir liste üretmenizi sağlayan şık bir sözdizimidir. Tıpkı bir kombinde “üst + alt + aksesuar” gibi parçaları bir araya getirirken tek bir bütün oluşturmanız gibi, list comprehension da veri parçalarını bir araya getirip tek bir “koleksiyon” yaratır.
`python
[yeni_değer for öğe in kaynak if koşul]
`
kaynak : Üzerinde dolaşılacak iterable (liste, range, vs.)öğe : Her adımda alınan tek elemankoşul : (Opsiyonel) sadece bu şartı sağlayan öğeler seçiliryeni_değer : Son listede yer alacak değer; genelde öğe’nin dönüştürülmüş hâli`python
ciftler = [x for x in range(1, 11) if x % 2 == 0]
`
`python
raw = [" Kırmızı", "Mavi ", " Yeşil ", ""]
temiz = [r.strip() for r in raw if r.strip()]
`
Boş satırları atlayıp, her bir rengi baştan ve sondan boşlukları temizleyerek yeni bir liste elde ettik.
`python
matrix = [[1,2,3],[4,5,6],[7,8,9]]
flat = [num for row in matrix for num in row]
`
matrixgibi çok katmanlı yapıları tek düz listeye indirgemek, veri analizi sırasında sıkça işinize yarar.
`python
sonuc = [f"{x} (küçük)" if x < 5 else str(x) for x in range(1, 8)]
`
[] yerine () kullanın: (x*x for x in range(10**6)).map, filter bazen daha hızlı çalışabilir; ama okunabilirlik açısından list comprehension hâlâ favori.| Tür | Söz Dizimi | Örnek |
|-----|------------|-------|
| Dictionary | {k: v for k, v in iterable} | {x: x**2 for x in range(5)} |
| Set | {expr for item in iterable} | {len(s) for s in ["a","ab","abc"]} |
List comprehension, kodunuzu tek bir “outfit” gibi şık ve uyumlu hâle getirir. Döngü satırlarını bir araya topladığınızda, hem okunabilirlik artar hem de hataya açık noktalar azalır. Unutmayın, aşırı karmaşık tek satırlar da bir kombinde çok fazla aksesuar gibi göz yorabilir; gerektiğinde klasik for döngüsüne geri dönmekten çekinmeyin. Şimdi bir kahve eşliğinde kendi “kombininizi” (kodunuzu) oluşturun, keyfini çıkarın!