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.