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中字典值的总和的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中的字典列表中查找项目的累积总和

查找字典中最大 4 个值的键

字典列表中的列表理解[重复]

将默认dict更改为嵌套字典

在 2.6 上合并 n 字典和添加值的最快方法 [重复]

如何对字典中的所有值求和?