5

私は持っている辞書を持っていますKey:Values.

値は整数です。条件に基づいて値の合計を取得したいと思います...たとえば、すべての値が0より大きい(つまり)。

いくつかのバリエーションを試しましたが、残念ながら何も機能していないようです。

4

2 に答える 2

10

ディクショナリのメソッド (Python 3.x ではジェネレータを返します) を使用してみてくださいvalues。各値を反復処理し、値が 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
于 2013-02-21T23:38:22.030 に答える
1
>>> a = {'a' : 5, 'b': 8}
>>> sum(value for _, value in a.items() if value > 0)
于 2013-02-21T23:37:20.383 に答える