2024-05-14 09:26:28 发布
网友
当我试图从dict中获取一个值时,我想知道处理keyerror的最佳方法
我需要这个,因为我的口述掌握了一些事件的计数。每当一个事件发生时,我从dict中获取计数,并将其递增并放回原处。
我在网上找到了一些解决方案,但它们是针对其他语言的。如有任何帮助,我们将不胜感激。
我正在处理keyerror异常。想知道处理字典中键错误的最佳方法。
注意:这不是计算列表中的项,而是在从dict检索值(不存在的值)时处理异常
collections.defaultdict可以帮助构建一个pythonic代码:
count = collections.defaultdict(int) # => default value is 0 ... count[event] += 1 # will end to 1 on first hit and will increment later
最合适的数据结构是collections.Counter,其中缺少的键的隐式值为0:
collections.Counter
0
from collections import Counter events = Counter() for e in "foo", "bar", "foo", "tar": events[e] += 1
如果要使用dict,可以使用dict.get
dict
dict.get
mydict[key] = mydict.get(key, 0) + 1
或者你可以处理KeyError
KeyError
try: mydict[key] += 1 except KeyError: mydict[key] = 1
或者你可以使用defaultdict
defaultdict
from collections import defaultdict mydict = defaultdict(int) mydict[key] += 1
collections.defaultdict可以帮助构建一个pythonic代码:
最合适的数据结构是
collections.Counter
,其中缺少的键的隐式值为0
:如果要使用
dict
,可以使用dict.get
或者你可以处理
KeyError
或者你可以使用
defaultdict
相关问题 更多 >
编程相关推荐