Python

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. 1’den 50’ye kadar olan sayıların karelerini içeren bir liste oluştur.
  2. Yalnızca 5’e bölünebilen sayıları filtreleyen bir list comprehension yaz.
  3. İki farklı listenin tüm kombinasyonlarını oluşturan bir list comprehension yaz.

Bir önceki Ders 16: Python Dosya İşlemleri

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

Reklam Engelleyici Algılandı

Lütfen sitemizde reklamlara izin verin Değerli okurumuz, Farkında olarak veya olmayarak Adblocker (Reklam Engelleyici) kullanarak sitemizi ziyaret etmektesiniz. Apple Türk olarak size en hızlı, en doğru bilgi ve haberleri sunmak için çaba gösteriyoruz. Bizim de bu kapsamda maliyetlerimizi karşılayabildiğimiz tek gelir kalemimiz, internet reklamları. Elimizden geldiğince bu reklamların sizi rahatsız etmemesi için azami özen göstermeye çalışıyoruz. Bu kapsamda AdBlock (Reklam Engelleme) aracınızda www.appleturk.com alan adını beyaz listeye almanızı, veya bu alan adında engelleyiciyi kapatmanızı ve tüm internet sektörünün sağlıklı gelişimi için Adblock aracınızı kaldırmanızı rica ediyoruz.