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