Hinzufügen von Instanzvariablen eines Klassenobjekts

Ich möchte eine Instanzvariable eines Klassenobjekts in einer Liste dieses Klassenobjekts zusammenfassen.

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 += ia 

Ich dachte an die Linien der Verwendung einer Kartenfunktion oder etwas? Ich weiß nicht, ob das das zu viel drückt. Nur neugierig.

2 Solutions collect form web for “Hinzufügen von Instanzvariablen eines Klassenobjekts”

Sie können reduce

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

Oder sum() mit Verständnis

 sum([ia for i in B]) 
 class A(object): def __init__(self): self.a = 20 B = [] for i in range(10): B.append(A()) s = sum(ia for i in B) print s 

Arbeitet.

Python ist die beste Programmiersprache der Welt.