繁体   English   中英

Python:计算多值字典中的值

[英]Python: Count Values in multi-value Dictionary

如何计算多值字典中特定值的数量?

例如,如果我的键AB具有不同的数字集作为值,我想获取字典所有键中每个数字的计数。

我试过这段代码,但我得到的是 0 而不是 2。

dic = {'A':{0,1,2},'B':{1,2}}
print(sum(value == 1 for value in dic.values()))

Counter是一个不错的选择,特别是如果您想要多个结果:

from collections import Counter

from itertools import chain
from collections import Counter
count = Counter(chain(*(dic.values())))

在 REPL 中:

>>> count
Counter({1: 2, 2: 2, 0: 1})
>>> count.get(1)
2

Counter只是简单地计算列表中的每个项目。 通过使用chain ,我们将列表列表视为一个大列表,将所有内容粘合在一起。 将此权限提供给Counter可以计算每个项目的数量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM