Словари со значениями по умолчанию

Доступно в стандартной библиотеке как defaultdict

from collections import defaultdict

d = defaultdict(int)
d['key'] # 0
d['key'] = 5
d['key'] # 5

d = defaultdict(lambda: 'empty')
d['key'] # 'empty'
d['key'] = 'full'
d['key'] # 'full'



В качестве альтернативы, если вы используете встроенный класс dict, использование dict.setdefault() позволит создать значение по умолчанию всегда, когда вы обращаетесь к отсутствующему ранее ключу:

>>> d = {}
{}
>>> d.setdefault('Another_key', []).append("This worked!")
>>> d
{'Another_key': ['This worked!']}



Если вам нужно добавить много значений, dict.setdefault() будет создавать новый экземпляр начального значения (в этом примере a[]) каждый раз, когда оно вызывается, создавая лишнюю нагрузку.