1

我想在该类对象的列表中总结一个类对象的实例变量。

Class A(object):

    def __init__(self):
        self.a = 20

B = []
for i in range(10):
    B.append(A())

# Can this be made more pythonic?
sum = 0 
for i in B:
    sum += i.a

我在考虑使用地图功能或其他什么?不知道这样是不是太过分了。只是好奇。

4

2 回答 2

3
class A(object):

def __init__(self):
    self.a = 20

B = []
for i in range(10):
    B.append(A())

s = sum(i.a for i in B)

print s

作品。

于 2013-09-05T00:58:00.580 回答
2

您可以使用reduce

reduce(lambda acc, c: acc + c, [i.a for i in B])

sum()理解

sum([i.a for i in B])
于 2013-09-05T00:45:25.720 回答