Liste üreteçleri (list comprehensions), Python’da bir listeyi hızlı ve sade bir şekilde oluşturmanın kısa yoludur. Döngü ve koşul ifadelerini tek satırda kullanarak yeni listeler türetmeyi sağlar.
Temel Söz Dizimi
[expression for item in iterable]
Örnek:
sayılar = [1, 2, 3, 4, 5]
kareler = [x**2 for x in sayılar]
print(kareler) # Çıktı: [1, 4, 9, 16, 25]
Koşullu Liste Üreteci
[expression for item in iterable if condition]
Örnek:
tek_sayılar = [x for x in range(10) if x % 2 != 0]
print(tek_sayılar) # Çıktı: [1, 3, 5, 7, 9]
Koşullu Değer Atama
[true_val if condition else false_val for item in iterable]
Örnek:
sonuç = ["çift" if x % 2 == 0 else "tek" for x in range(5)]
print(sonuç) # Çıktı: ['çift', 'tek', 'çift', 'tek', 'çift']
İç İçe Döngülerle Liste Üreteci
[expression for item1 in iterable1 for item2 in iterable2]
Örnek:
çarpım_tablosu = [i * j for i in range(1, 4) for j in range(1, 4)]
print(çarpım_tablosu) # Çıktı: [1, 2, 3, 2, 4, 6, 3, 6, 9]
Liste Üreteçlerinin Avantajları
- Kısa ve okunabilir kod
- Daha hızlı çalışır (genellikle)
- Tek satırda işlem yapılabilir
Liste Üreteci Kullanımına Dikkat Edilmesi Gerekenler
- Çok karmaşık ifadelerde okunabilirlik düşer
- İç içe ve koşullu yapılar çok uzun olursa tercih edilmemelidir
Uygulama Ödevi
Aşağıdaki işlemleri liste üreteci ile yapmayı deneyin:
- 1 ile 100 arasındaki sayıların karelerini içeren liste oluşturun.
- “merhaba dünya” ifadesindeki harflerden sesli olanları ayıklayın.
- Bir listedeki sayıların pozitif olanlarını çift/tek şeklinde sınıflandırın.
Liste üreteçleri, Python’un sunduğu güçlü ve pratik araçlardan biridir. Hem performans hem yazım kolaylığı açısından birçok senaryoda tercih edilebilir.
İlgili yazılar
Siber Akımlar
İncel Akımı
Başlangıçta cinsiyet fark etmeksizin yalnız bireylere destek sunmayı amaçlayan “incel” (involuntary celibate – istemsiz bekâr) hareketi, zamanla şiddet ve kadın...