from collections import defaultdict
counts = defaultdict(int)
words = ["a", "b", "a", "c", "b", "a"]
for w in words:
counts[w] += 1
print(dict(counts))Bu ne yazdırır?
- a{'a': 3, 'b': 2, 'c': 1}✓
- b{'a': 1, 'b': 1, 'c': 1}
- ccounts["a"]'a ilk erişimde KeyError fırlatır
- d{'a': 3, 'b': 2, 'c': 1, None: 0}
Açıklama:defaultdict(int), eksik bir key için KeyError fırlatmak yerine int() çağrısının sonucu olan 0'ı sağlar, bu yüzden counts[w] += 1 bir kelime ilk görüldüğünde bile çalışır. None gibi ekstra key'ler asla eklenmez — yalnızca gerçekten erişilen key'ler ortaya çıkar.