Во многих рабочих процессах, где вы хотите прикрепить значение по умолчанию / начальное значение для произвольных ключей, вам не нужно заранее хешировать каждый ключ отдельно. Вы можете использовать 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], [])все ключи отображаются в один и тот же список, и изменение одного из них изменит их все.