有普通字典:
ordinarydict = {}
ordinarydict['somekey']
print ordinarydict
我会收到错误。 KeyError "somekey"
这是预期的行为。
所以,有defaultdict:
from collections import defaultdict
d = defaultdict(int)
d['somekey']
print d
>>> defaultdict(<type 'int'>, {'somekey': 0})
我没有在dict中添加任何内容,我只是用无效键调用了字典。但现在新元素被添加到defaultdict。