CodeBlanks Logo Icon CodeBlanks

defaultdict

defaultdict ile varsayılan değerli sözlüğü öğrenirsin.

defaultdict

defaultdict, olmayan bir anahtara erişince KeyError yerine varsayılan bir değer üretir. Fabrika işlevi kurucuya verilir; int, list, dict gibi türler kullanılabilir.

Örnek: d = defaultdict(int). d["a"] += 1 yazınca d["a"] önce 0 olarak oluşturulur sonra 1 olur. Böylece sayma ya da gruplama işlerinde önceden anahtar var mı diye kontrol etme gerekmez.

Hangi fabrika ne verir?

defaultdict(int) varsayılan olarak 0 verir; sayma için ideal. defaultdict(list) boş liste üretir; gruplama için ideal. defaultdict(dict) boş sözlük; iç içe yapılarda kullanışlıdır.

Örnek gruplama: groups = defaultdict(list)\nfor word in words:\n groups[len(word)].append(word). Bu kod, uzunluğu aynı olan kelimeleri bir listede toplar. Her uzunluk ilk görüldüğünde boş liste otomatik oluşur; if len(word) in groups kontrolü gerekmez.

Uygulama defaultdict ile say

from collections import defaultdict ile başla. d = defaultdict(int) ile bir defaultdict oluştur. d["a"] += 1 ve d["a"] += 1 çağrılarını yap. Sonra print(d["a"]) ile a'nın sayısını yazdır.

Başlangıç kodu

main.py
# defaultdict(int) ile sayma yap

Örnek çözüm

main.py
# defaultdict(int) ile sayma yap
from collections import defaultdict

d = defaultdict(int)
d["a"] += 1
d["a"] += 1
print(d["a"])

Beklenen çıktı

2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 defaultdict fabrika argümanı

Soru
from collections import defaultdict

d = defaultdict(____)
d["a"] += 1
print(d["a"])
Cevap
from collections import defaultdict

d = defaultdict(int)
d["a"] += 1
print(d["a"])

Açıklama: int fabrikası 0 varsayılanını üretir.

2 defaultdict(int) olmayan anahtarda ne döner?

  • KeyError
  • None
  • 0 Doğru cevap
  • Boş dize

Açıklama: defaultdict(int) olmayan anahtar için 0 üretir.

3 Fabrika ve varsayılan eşleştir

Kavram Anlamı
int 0
list []
dict {}
str ""

Orta seviye bölümündeki tüm dersler