Dict comprehension
- Python kursu
- Başlangıç
- Ders 69/116
- 4 dk
{k: v for ...} ile dict comprehension'ı öğrenirsin.
Dict comprehension
Dict comprehension, bir dict'i tek satırda oluşturmanın kısa yoludur:
squares = {n: n * n for n in [1, 2, 3]}
# {1: 1, 2: 4, 3: 9}Yapı: {anahtar: deger for değişken in liste}. Filtre eklemek için sona if koşul yazılabilir. Bu, klasik döngüden daha kısa ve okunabilirdir.
Aynı anahtar ikinci kez gelirse son değer önceki üzerine yazılır.
Filtreli dict comprehension
Dict comprehension'a if ekleyerek çiftleri filtreleyebilirsin:
even_squares = {n: n * n for n in [1, 2, 3, 4] if n % 2 == 0}
# {2: 4, 4: 16}Bu, list comprehension'daki filtre mantığıyla aynıdır: sadece koşulu sağlayan elemanlar sonuca girer.
Büyük veri setlerinde bu yöntem çok kısa ve hızlıdır.
Uygulama Kareler sözlüğü yaz
squares değişkenine, [1, 2, 3, 4] listesindeki her n için n: n * n çiftlerini tutan bir dict comprehension ata. Sonra print(squares) yazdır.
Başlangıç kodu
# Dict comprehension ile karelerÖrnek çözüm
squares = {n: n * n for n in [1, 2, 3, 4]}
print(squares)Beklenen çıktı
{1: 1, 2: 4, 3: 9, 4: 16}
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dict comprehension'i tamamla
squares = {n: n * ____ for n in [1, 2, 3]}
squares = {n: n * n for n in [1, 2, 3]}
Açıklama: n * n her n için karesini verir.
2 {n: n * 2 for n in [1, 2, 3]} ne üretir?
- [2, 4, 6]
- {2, 4, 6}
- {1: 2, 2: 4, 3: 6} Doğru cevap
- (1, 2, 3)
Açıklama: Her n iki katına çıkar: {1: 2, 2: 4, 3: 6}.
3 Comprehension türlerini eşleştir
| Kavram | Anlamı |
|---|---|
[...] |
Liste |
(...) |
Tuple/Generator |
{...} |
Set/Dict |
{k: v} |
Dict |