有什么方法可以collections.defaultdict
在我设置它时返回一个默认构造的对象......
foo = defaultdict(list)
foo[3].append('dsafdasf')
...但不是当我尝试访问它时?
try:
for word in foo[None]:
print(word)
except KeyError:
pass
有什么方法可以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
,您可以使用常规字典和 use方法而不是 using 来分配默认值和项目访问权限。setdefault
不,因为您的“设置”示例实际上是获取未使用插槽的示例。