Обычный dict кидает KeyError при обращении к несуществующему ключу. defaultdict из collections принимает фабрику (int, list, set, lambda) и автоматически создаёт значение по умолчанию при первом обращении к ключу. Например, defaultdict(list) удобен для группировки — d[key].append(val) работает без проверки. Внутри он переопределяет __missing__. По производительности разницы нет, это чисто про удобство кода.
Чем dict отличается от defaultdict?
Junior
299 просмотровAFK Offer AI
В чём разница между __str__ и __repr__?