defaultdict
- Python kursu
- Orta seviye
- Ders 89/116
- 5 dk
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
# defaultdict(int) ile sayma yapÖrnek çözüm
# 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ı
from collections import defaultdict
d = defaultdict(____)
d["a"] += 1
print(d["a"])
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 |
"" |