CodeBlanks Logo Icon CodeBlanks

Dict ve set comprehension

{k: v for ...} ve {x for ...} ile öğrenirsin.

Dict comprehension

Dict comprehension (sözlük üretimi) ile bir sözlük tek satırda oluşturulur. Süslü parantez ve iki nokta kullanılır:

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}. anahtar ve değer her eleman için hesaplanır. Aynı anahtar ikinci kez gelirse üzerine yazılır.

Set comprehension

Set comprehension (küme üretimi) de süslü parantezle yazılır ama iki nokta yoktur:

unique = {x % 3 for x in [1, 2, 4, 7]}
# {0, 1, 2}

Sonuç bir kümedir: her değer bir kez görünür. List comprehension ile tek farkı küme parantezi kullanmasıdır.

Küme, sırasız ve tekrarsız bir veri yapısıdır; sıralama önemliyse liste kullan.

Uygulama Kareler sözlüğünü 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

main.py
# Dict comprehension ile kareler sozlugu

Örnek çözüm

main.py
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 Hangisi bir dict comprehension'dir?

  • [k: v for k, v in pairs]
  • (k: v for k, v in pairs)
  • {k: v for k, v in pairs} Doğru cevap
  • <k, v for k, v in pairs>

Açıklama: Süslü parantez ve iki nokta dict comprehension belirtir.

2 Comprehension türlerini eşleştir

Kavram Anlamı
[...] Liste
{k: v} Sözlük
{x} Küme
(...) Generator

3 Set comprehension'i tamamla

Soru
unique = {x % 3 for x in [____, 2, 4, 7]}
Cevap
unique = {x % 3 for x in [1, 2, 4, 7]}

Açıklama: [1, 2, 4, 7] listedir, x % 3 kalanları verir.

Başlangıç bölümündeki tüm dersler