
Ders 17: Python List Comprehension
Python list comprehension, listeleri hızlı ve pratik şekilde oluşturmamızı sağlayan bir kısayoldur. Python list comprehension sayesinde uzun döngüleri tek satırda yazabiliriz. Hem okunabilirlik hem performans açısından oldukça avantaj sağlar.
Python List Comprehension Nedir?
Python list comprehension, bir listeyi kısa bir ifadeyle üretme yöntemidir. Klasik döngülere göre çok daha temiz ve anlaşılır bir yapı sunar.
# Normal yöntem
sayilar = []
for x in range(5):
sayilar.append(x * 2)
# Python list comprehension ile
sayilar = [x * 2 for x in range(5)]
print(sayilar)
Aynı sonuç ama çok daha kısa bir yazım!
Python List Comprehension ile Koşullu Liste Oluşturma
Python list comprehension içinde if kullanarak filtreleme yapabiliriz.
# Sadece çift sayıları listele
ciftler = [x for x in range(20) if x % 2 == 0]
print(ciftler)
Bu sayede tek satırda hem döngü hem filtreleme yapmış olduk.
Python List Comprehension ile İfadeli Kullanım
if-else yapısı da Python list comprehension içinde kullanılabilir.
etiketler = ["çift" if x % 2 == 0 else "tek" for x in range(10)]
print(etiketler)
Bu kodda listedeki her elemanın çift mi tek mi olduğu otomatik olarak belirlenir.
Python List Comprehension ile İç İçe Döngüler
İki döngüyü tek satırda yazmak mümkün:
kombinasyonlar = [(x, y) for x in range(3) for y in range(3)]
print(kombinasyonlar)
Kısa ve etkili!
Python List Comprehension Ne Zaman Kullanılır?
- Liste oluştururken kodu sadeleştirmek istiyorsan
- Döngülerin fazla yer kaplamasını istemiyorsan
- Performansı artırmak istiyorsan
- Tek satırda daha okunabilir bir yapı arıyorsan
Bu durumlarda Python list comprehension tam bir hayat kurtarıcıdır.
Küçük Görevler
- 1’den 50’ye kadar olan sayıların karelerini içeren bir liste oluştur.
- Yalnızca 5’e bölünebilen sayıları filtreleyen bir list comprehension yaz.
- İki farklı listenin tüm kombinasyonlarını oluşturan bir list comprehension yaz.
