添加类对象的实例变量

时间:2013-09-05 00:42:43

标签: python

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

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

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

2 个答案:

答案 0 :(得分: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

的工作原理。

答案 1 :(得分:2)

您可以使用reduce

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

sum()

sum([i.a for i in B])