我正在寻找最优雅的方式来执行以下操作:
假设我想计算每个整数在列表中出现的次数;我可以这样做:
x = [1,2,3,2,4,1,2,5,7,2]
dicto = {}
for num in x:
try:
dicto[num] = dicto[num] + 1
except KeyError:
dicto[num] = 1
不过,我觉得
try:
dicto[num] = dicto[num] + 1
except KeyError:
dicto[num] = 1
不是最优雅的方式;我想我看到上面的代码被一行替换了。执行此操作最优雅的方法是什么?
我意识到这可能是重复的,但我环顾四周,找不到我要找的东西。
提前致谢。
最佳答案
使用计数器类
>>> from collections import Counter
>>> x = [1,2,3,2,4,1,2,5,7,2]
>>> c = Counter(x)
现在你可以使用 Counter
对象 c
作为字典。
>>> c[1]
2
>>> c[10]
0
(这也适用于不存在的值)
关于python - 计算列表中整数的最优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9754030/