蟒蛇单行

Naz*_*san 6 python sum

我想要一个单行解决方案在Python下面的代码但是如何?

total = 0
for ob in self.oblist:
    total+=sum(v.amount for v in ob.anoutherob)
Run Code Online (Sandbox Code Playgroud)

它返回总值.我想要一个班轮,任何人帮助我

Joh*_*ooy 32

无需加倍sum()通话

total = sum(v.amount for ob in self.oblist for v in ob.anotherob)
Run Code Online (Sandbox Code Playgroud)


Amb*_*ber 7

你可以将for循环折叠到另一个理解水平:

total = sum(sum(v.amount for v in ob.anotherob) for ob in self.oblist)
Run Code Online (Sandbox Code Playgroud)