Python“defaultdict”:在设置时使用默认值,但在获取

2024-04-26 00:45:00 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法让collections.defaultdict在设置时返回一个默认的构造对象。。。在

foo = defaultdict(list)
foo[3].append('dsafdasf')

。。。但当我试图进入它的时候?在

^{pr2}$

Tags: 对象foocollectionslistappend办法defaultdictpr2
2条回答

不,因为你的“设置”示例实际上是获取未使用的插槽的示例。在

我想你要找的是这样的东西:

>>> foo = {}
>>> foo.setdefault(3, []).append('dsafdasf') # Appends to default value
>>> foo[None] # Raises a KeyError exception

也就是说,当您需要为缺少的键引发异常时,您可以使用常规字典,并在需要为缺少的键引发异常时,使用setdefault方法,而不是使用collections.defaultdict。在

相关问题 更多 >