python 3中字典值的总和
Posted
技术标签:
【中文标题】python 3中字典值的总和【英文标题】:sum of dictionary values in python 3 【发布时间】:2016-05-28 14:06:39 【问题描述】:我有以下字典:
dic= 'I-setosa': 8, 'I-versicolor': 2, 'I-virginica': 0
我怎样才能找到键的总和?在Python 2
中,我可以执行以下操作:
sum(dic.values())
除此之外还有其他方法吗?我尝试使用dic.values()
并找到该列表的总和,但它太长了。
【问题讨论】:
它在 Python 3 中工作。 你遇到了什么错误? @StefanPochmann 我用另一种方式写了这个问题。刚刚编辑过。 “太长”是什么意思?这只是三个要素!顺便说一句,这不是一个列表。 这不仅在 Python 3 中仍然有效,而且比以前更好,因为它不会生成毫无意义的值列表。在 Python 2 中,sum(dic.itervalues())
或 sum(dic.viewvalues())
将是避免列表的方法。
【参考方案1】:
sum(dic.values())
除此之外还有什么办法吗?
当然。无穷多。但你为什么要问?这是正确的方法。
【讨论】:
作为记录,如果在 IPython 中使用--pylab
标志,或者如果您已执行 from pylab import *
,这将不起作用,因为这两者都会用 @987654325 覆盖基础 sum
@的sum
,执行sum(dic.values())
时返回dict_values
迭代器。以上是关于python 3中字典值的总和的主要内容,如果未能解决你的问题,请参考以下文章