如何总结字典中的所有值?
比方说,我有一个字典,其中的键映射到整数,如:
d = {'key1': 1,'key2': 14,'key3': 47}
在这种情况下,是否有句法简约的方式来返回d
-ie 62
中的值的总和?
如你所料:
sum(d.values())
在Python <3中,您可能需要使用itervalues
(不build立临时列表)。
在Python 2中,您可以避免使用itervalues()
字典方法来itervalues()
所有值的临时副本,该方法返回字典键的迭代器:
sum(d.itervalues())
在Python 3中,你可以使用d.values()
因为这个方法被改变了,并且itervalues()
被删除了,因为它不再需要)。
为了使编写独立于代码的代码更容易,这些代码总是迭代字典键的值,效用函数可能会有帮助:
import sys def itervalues(d): return iter(getattr(d, ('itervalues', 'values')[sys.version_info[0]>2])()) sum(itervalues(d))
这本质上是本杰明·彼得森的six
模块所做的。
当然有。 这是一个总结字典值的方法。
>>> d = {'key1':1,'key2':14,'key3':47} >>> sum(d.values()) 62