Ответ 1
Аргумент defaultdict - это функция (вернее, вызываемый объект), которая возвращает значение по умолчанию. Таким образом, вы можете передать лямбду, которая возвращает желаемый по умолчанию.
>>> from collections import defaultdict
>>> d = defaultdict(lambda: 'My default')
>>> d['junk']
'My default'
Отредактировано для объяснения лямбда:
lambda - это просто сокращение для определения функции без указания имени. Вы можете сделать то же самое с явным def:
>>> def myDefault():
... return 'My default'
>>>> d = defaultdict(myDefault)
>>> d['junk']
'My default'
Подробнее см. документацию.