您可以将旧字典替换为defaultdict
:
>>> from collections import defaultdict
>>> d = {'foo': 123, 'bar': 456}
>>> d['baz']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'baz'
>>> d = defaultdict(lambda: -1, d)
>>> d['baz']
-1
这里的“技巧”是defaultdict
可以用另一个初始化a dict
。这意味着您可以保留常规值中的现有值dict
:
>>> d['foo']
123