Python 一行代码

11 投票
2 回答
27148 浏览
提问于 2025-04-16 02:57

我想把下面这段代码用一行代码在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)

撰写回答