У багатьох робочих процесах, де ви хочете приєднати довільне / початкове значення для довільних ключів, вам не потрібно заздалегідь хешувати кожен ключ окремо. Можна використовувати collections.defaultdict. Наприклад:
from collections import defaultdict
d = defaultdict(lambda: None)
print(d[1]) # None
print(d[2]) # None
print(d[3]) # None
Це більш ефективно, це дозволяє економити необхідність хеш-пам'яті всіх ваших ключів при створенні. Більше того, defaultdictце підклас dict, тому зазвичай не потрібно перетворювати назад у звичайний словник.
Для робочих процесів, де вам потрібен контроль над допустимими ключами, ви можете використовувати dict.fromkeysвідповідно до прийнятої відповіді:
d = dict.fromkeys([1, 2, 3, 4])
dict.fromkeys([1, 2, 3], [])всі клавіші відображаються в одному списку, а змінивши одну, вони змінять їх усі.