Python:基于条件在字典中求和值

时间:2013-02-21 23:33:34

标签: python python-3.x

我的词典有Key:Values.

值是整数。我想根据条件得到一个值的总和...说所有值> 0(即)。

我尝试了很少的变化,但遗憾的是似乎没有任何工作。

2 个答案:

答案 0 :(得分:9)

尝试在字典上使用values方法(在Python 3.x中返回一个生成器),迭代每个值并求它是否大于0(或者你的条件是什么):

In [1]: d = {'one': 1, 'two': 2, 'twenty': 20, 'negative 4': -4}

In [2]: sum(v for v in d.values() if v > 0)
Out[2]: 23

答案 1 :(得分:1)

>>> a = {'a' : 5, 'b': 8}
>>> sum(value for _, value in a.items() if value > 0)