拿出代码:
SUM = sum(x() for x in xs)
我正在编写一些代码,需要在每个x()之前调用另一个函数,以便x()计算出正确的值。这是唯一的方法吗?
for x in xs: x.pre()
SUM = sum(x() for x in xs)
或者
SUM = 0
for x in xs:
x.pre()
SUM += x()
将 x.pre 整合到 x 中显然是可行的,但会使真正的代码异常丑陋和难以阅读。我是否有一些不知道的使用生成器表达式的方法,可以实现我想要的效果?
例如:
SUM = sum(x(), x.pre() for x in xs)
显然,这只是一个无法求和的元组生成器。
sum((x.pre(), x())[1] for x in xs)
... - tobias_ksum()
内置函数的显式 for 循环是一个非常好的解决方案。它非常易读,我看不到任何缺点。 - Sven MarnachSUM=0
实际上是一个非常复杂的调用,我正在尝试避免这种巨大的语法混乱。 - user2255757