Python 一行代码
我想把下面这段代码用一行代码在Python里实现,怎么做呢?
total = 0
for ob in self.oblist:
total += sum(v.amount for v in ob.anoutherob)
这段代码返回的是总值。我想要把它简化成一行代码,应该怎么做呢?
2 个回答
7
你可以把这个for
循环简化成更高一层的理解方式:
total = sum(sum(v.amount for v in ob.anotherob) for ob in self.oblist)
40
其实没有必要重复调用 sum()
这个函数:
total = sum(v.amount for ob in self.oblist for v in ob.anotherob)