Comprehension temelleri
- Python kursu
- Başlangıç
- Ders 59/116
- 5 dk
[x for x in xs] ile comprehension'ı öğrenirsin.
Comprehension temelleri
List comprehension (liste üretimi), bir listeyi kısa ve okunabilir biçimde oluşturmanın yoludur. Döngü ve append yerine tek satırda yazılır:
squares = [n * n for n in [1, 2, 3]]
# [1, 4, 9]Yapı şöyledir: [ifade for değişken in liste]. ifade her eleman için hesaplanır ve sonuca eklenir. Bu, klasik for döngüsünden daha kısa ve daha hızlıdır.
Comprehension, okunabilirlik arttıkça tercih edilir; çok karmasiklastiginda döngü daha iyi olabilir.
Comprehension for döngüsünün yerine geçer
Aynı sonucu klasik for döngüsüyle de elde edebilirsin:
squares = []
for n in [1, 2, 3]:
squares.append(n * n)Comprehension bu üç satırı tek satıra indirir. Hangisini kullanacağına kişisel tercih ve okunabilirlik bağlıdır.
İç içe döngülerde comprehension karmasiklasabilir; o zaman for döngüsü tercih edilebilir.
Uygulama Ucle çarpan comprehension yaz
triples değişkenine, [1, 2, 3, 4] listesinin her elemanını 3 ile çarpan bir comprehension ata. Sonra print(triples) yazdır.
Başlangıç kodu
# Comprehension ile ucle carpÖrnek çözüm
triples = [n * 3 for n in [1, 2, 3, 4]]
print(triples)Beklenen çıktı
[3, 6, 9, 12]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Aşağıdakilerden hangisi [2, 4, 6] listesini üretir?
- [x * 2 for x in [1, 2, 3]] Doğru cevap
- [x for x in [2, 4, 6]]
- [x + 2 for x in [1, 2, 3]]
- [x * 2 for x in [2, 4, 6]]
Açıklama: [x * 2 for x in [1, 2, 3]] her elemanı ikiye katlar: [2, 4, 6].
2 Comprehension'i tamamla
doubles = [n * ____ for n in [1, 2, 3]]
doubles = [n * 2 for n in [1, 2, 3]]
Açıklama: n * 2 ile her eleman ikiye katlanir.
3 Comprehension parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
[...] |
Liste üretimi |
for |
Döngü kelimesi |
ifade |
Her eleman için hesap |
in |
Kaynak liste kelimesi |