Разница между defaultdict и dict при работе с отсутствующими ключами заключается в том, что defaultdict автоматически назначает значение по умолчанию для несуществующего ключа, в то время как стандартный dict выдаёт ошибку KeyError при попытке получить доступ или изменить несуществующий ключ. 15
При инициализации defaultdict нужно предоставить функцию default_factory, которая будет определять значение по умолчанию для несуществующих ключей. 1 В то время как стандартный dict не требует и не поддерживает это. 1
Defaultdict полезен при работе с большими наборами данных, когда нужно избежать обработки исключений KeyError. 1 Он обычно используется для операций группировки, подсчёта или накопления. 1 В то же время стандартный dict может быть более подходящим, если нужно, чтобы программа выдавала ошибку при доступе к несуществующему ключу, или если нет чёткого значения по умолчанию. 1