List comprehension, bir Python programında bir liste oluşturmak için kullanılan bir tekniktir. Bu yöntem, birkaç satırda veri üretmek için kullanılan oldukça kısa ve güçlü bir tekniktir. Verilerin filtrelenebilmesi, yeniden şekillendirilebilmesi veya dönüştürülebilmesi açısından oldukça esnektir.
List comprehension örneği:
```
numbers = [i for i in range(10)]
```
Bu kod, 0'dan 10'a kadar bir dizi sayı oluşturur. İlk olarak, [i] ifadesi, her bir elemanı i olan bir liste oluşturur. Ardından, [for i in range(10)] bölümü, 0'dan 10'a kadar olan sayılardan bir dizi oluşturmak için bir döngü oluşturur.
List comprehension'da filtreleme de yapabiliriz. Örneğin, burada sadece tek sayılar alınacak:
```
numbers = [i for i in range(10) if i%2 == 1]
```
Bu durumda, 0'dan 10'a kadar tüm sayılar oluşturulsa da, yalnızca i%2 == 1 ile eşleşen (tek) sayılar diziye eklenir.
List comprehension ayrıca bir liste öğesinin farklı bir özellik veya metottan türetilmesini sağlar.
Örneğin, bir dizi kelimenin uzunluğunu ölçebiliriz:
```
words = ['apple', 'banana', 'cherry']
word_lengths = [len(word) for word in words]
print(word_lengths)
```
Bu kod, words adlı dizi içindeki tüm kelimelerin uzunluğunu hesaplar ve çıktı şöyle olur:
```
[5, 6, 6]
```
Bu şekilde, verileri bir arada toplamak için for döngüsü kullanmaya gerek yoktur, tüm bunları aynı tek bir satırda yapabilirsiniz.
Sonuç olarak, list comprehension, Python'da liste oluşturmanın kısa ve etkili bir yolu sağlar. Ayrıca değiştirme ve filtreleme de yapılabilir. Bu sayede hem kod daha okunaklı hale gelir, hem de oluşturduğumuz verilerin kalitesi ve doğruluğu artar.