List comprehension, Python'da bir listeyi tek satırda oluşturmanın şık yoludur. Döngü ile yapabileceğin işi daha kısa ve okunur biçimde yazarsın.

Klasik döngü yerine

# Döngü ile:
kareler = []
for n in range(5):
    kareler.append(n * n)

# List comprehension ile (aynı sonuç):
kareler = [n * n for n in range(5)]
print(kareler)   # [0, 1, 4, 9, 16]

Koşullu (filtreli)

sayilar = [1, 2, 3, 4, 5, 6]
ciftler = [n for n in sayilar if n % 2 == 0]
print(ciftler)   # [2, 4, 6]

Dönüştürme + koşul birlikte

kelimeler = ['elma', 'muz', 'kivi']
buyuk = [k.upper() for k in kelimeler if len(k) > 3]
print(buyuk)     # ['ELMA']

Yapı şudur: [ifade for eleman in dizi if koşul]. Çok karmaşık hale gelirse okunabilirlik için normal döngüye dönmek daha iyidir.