有什么方法可以让 collections.defaultdict 在我设置它时返回一个默认构造的对象...
foo = defaultdict(list)
foo[3].append('dsafdasf')
...但是当我尝试访问它时却没有?
try:
for word in foo[None]:
print(word)
except KeyError:
pass
请您参考如下方法:
我认为您正在寻找的是这样的东西:
>>> foo = {}
>>> foo.setdefault(3, []).append('dsafdasf') # Appends to default value
>>> foo[None] # Raises a KeyError exception
也就是说,不用collections.defaultdict,您可以使用常规字典,并在需要时使用setdefault 方法,在需要时分配默认值和项目访问权限缺少 key 时引发的异常。
