menu search
  • Kaydol
brightness_auto

Hoş geldiniz! TÜRKLER SORUYOR PLATFORMU'na katılmak ister misiniz? Hemen kayıt olun veya giriş yapın.

more_vert

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.

thumb_up_off_alt 6 beğenilme thumb_down_off_alt 0 beğenilmeme

1 cevap

more_vert

List Comprehension Nedir?

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.

Temel Söz Dizimi

`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 eleman
  • koşul : (Opsiyonel) sadece bu şartı sağlayan öğeler seçilir
  • yeni_değer : Son listede yer alacak değer; genelde öğe’nin dönüştürülmüş hâli

Basit Örnek

`python

1‑10 arasındaki çift sayıları bir listeye koy

ciftler = [x for x in range(1, 11) if x % 2 == 0]
`

Pratik Kullanım Senaryoları

1. Veri Temizleme

`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.

2. İç İçe Listeler (Nested)

`python
matrix = [[1,2,3],[4,5,6],[7,8,9]]
flat = [num for row in matrix for num in row]
`

matrix gibi çok katmanlı yapıları tek düz listeye indirgemek, veri analizi sırasında sıkça işinize yarar.

3. Şartlı Dönüşüm

`python

Sayıları string’e çevir, ama 5’ten küçükse “küçük” diye ekle

sonuc = [f"{x} (küçük)" if x < 5 else str(x) for x in range(1, 8)]
`

Performans İpuçları

  • Liste yerine generator: Çok büyük veri setlerinde hafıza tasarrufu için [] yerine () kullanın: (x*x for x in range(10**6)).
  • Yerleşik fonksiyonları tercih edin: map, filter bazen daha hızlı çalışabilir; ama okunabilirlik açısından list comprehension hâlâ favori.

Diğer Comprehension Türleri

| 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"]} |

Son Söz

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!

thumb_up_off_alt 6 beğenilme thumb_down_off_alt 0 beğenilmeme

İlgili sorular

thumb_up_off_alt 9 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 6 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 3 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 8 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 5 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap

12,122 soru

15,644 cevap

2 yorum

266 üye

Çevrimiçi Kullanıcı Sayısı: 20
0 Üye 20 Ziyaretçi
Bugünkü Ziyaretler: 1152
Dünkü Ziyaretler: 12865
Toplam Ziyaretler: 6477080

Son Kazanılan Rozetler

huseyin Bir rozet kazandı
ece_eren_04 Bir rozet kazandı
cem_kaya Bir rozet kazandı
fatma_arslan_02 Bir rozet kazandı
yusuf_kurt Bir rozet kazandı
...