是否可以将此代码段转换为列表解析?怎么样?

Pau*_*tas 0 python list-comprehension

a = 0
b = {'a': [(1, 'a'), (2, 'b'), (3, 'c')], 'b': [(4, 'd'), (5, 'e')]}

for c, d in b.iteritems():
    for e, f in d:
        a += e

// now a = 15

试过几种方法.我想知道一种方法(如果可能的话)用列表理解来简化这个总和:

a = sum(...)

先生,谢谢你,pf.me

Gab*_*abe 6

a = sum(e for d in b.itervalues() for e, _ in d) 适用于Python 2.7.

a = sum([e for d in b.itervalues() for e, _ in d]) 适用于Python 2.3.

我没有尝试过,但a = sum(e for d in b.values() for e, _ in d)应该是Python 3.0的等价物.