You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何统计多值字典中特定值的出现次数

问题原因

你编写的代码遍历的是dic.values(),拿到的是每个键对应的完整集合对象(示例中为{0,1,2}和{1,2}),直接将整个集合和数字1做相等判断,结果永远为False,求和后自然得到0。

解决方法

统计单个特定值的总出现次数

如果只需统计某一个指定数字的出现次数,嵌套遍历所有集合的元素做判断即可:

dic = {'A':{0,1,2},'B':{1,2}}
target = 1
count = sum(1 for value_set in dic.values() for num in value_set if num == target)
print(count)

运行后输出结果为预期的2。

批量统计所有数字的总出现次数

如果需要得到全量数字的出现次数统计结果,可以调用collections.Counter实现:

from collections import Counter

dic = {'A':{0,1,2},'B':{1,2}}
count_result = Counter(num for value_set in dic.values() for num in value_set)
print(count_result)
# 取单个数字的出现次数直接用 count_result[1] 即可

运行后输出结果为Counter({1: 2, 2: 2, 0: 1})。

内容的提问来源于stack exchange,提问作者zimon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:57:00