如何在Python中统计字典中值'B'的出现次数
统计字典中值'B'的出现次数
嘿,这事儿不难,我给你整理了几种简洁高效的方法来统计字典里值为'B'的次数,你可以按需选用:
方法一:基础循环遍历
这是最直观的方式,逻辑清晰,适合新手理解,对所有Python版本都兼容:
# 先定义你的示例字典(替换成你实际的字典即可,注意别用dict当变量名,这是Python内置类型) my_dict = {1: 'A', 2: 'B', 3: 'B', 4: 'A'} count_b = 0 # 遍历字典的所有值 for value in my_dict.values(): if value == 'B': count_b += 1 print(count_b) # 输出: 2
注意:别用dict作为变量名哦,这是Python的内置类型,容易引发不必要的问题
方法二:用sum()函数简化写法
用生成器表达式配合sum可以一行搞定,非常简洁:
my_dict = {1: 'A', 2: 'B', 3: 'B', 4: 'A'} # 写法一:显式返回1累加 count_b = sum(1 for v in my_dict.values() if v == 'B') # 写法二:利用布尔值等价于整数的特性(True=1,False=0) count_b = sum(v == 'B' for v in my_dict.values()) print(count_b) # 输出: 2
方法三:用collections.Counter统计所有值
如果你之后可能需要统计其他值的出现次数,用Counter是最佳选择,它会一次性统计所有值的计数:
from collections import Counter my_dict = {1: 'A', 2: 'B', 3: 'B', 4: 'A'} # 统计所有值的出现次数 value_counts = Counter(my_dict.values()) # 用get方法获取'B'的计数,第二个参数是默认值,避免'B'不存在时报错 count_b = value_counts.get('B', 0) print(count_b) # 输出: 2 # 顺便可以查看所有值的统计结果:print(value_counts) # 输出: Counter({'A': 2, 'B': 2})
内容的提问来源于stack exchange,提问作者meowmixerr
相关产品推荐
相关产品推荐

