Python字典计数:如何从dict_values中提取值的总和得到总计数
解决字典值求和的问题
嘿,这问题很好解决!你只需要用上Python内置的sum()函数就行,它能直接对dict_values里的所有数值求和,完美匹配你的需求。
核心思路
dict_values本身是可迭代对象,sum()会自动遍历里面的所有元素并累加,不需要先转换成列表(当然转成列表再求和也能行,但直接用sum()更高效,尤其处理5000+条数据的时候,能避免不必要的内存开销)。
具体代码示例
如果是批量生成trigram_smoothed_counts字典,只需要把原来的value2.values()替换成sum(value2.values()):
trigram_smoothed_counts = {} for i in your_data_source: # 假设value2是你获取到的包含多个计数的子字典 trigram_smoothed_counts[i] = sum(value2.values())
如果是单独处理某个键值对:
# 比如处理'SWORD'对应的子字典 value2 = {'k1':1, 'k2':1, 'k3':1, 'k4':1} trigram_smoothed_counts['SWORD'] = sum(value2.values()) # 结果就是'SWORD':4,完全符合你的预期
为什么之前的方法不行?
你之前用list(value2.values())[0]只能提取dict_values里的第一个元素,而sum()会遍历所有元素并累加,正好满足你“获取所有值总和”的需求。
内容的提问来源于stack exchange,提问作者noah m
相关产品推荐
相关产品推荐

