如何在python中调用一系列没有循环的函数?

如何在python中调用一系列没有循环的函数?,python,for-loop,Python,For Loop,假设我有一系列python函数: lam1 = lambda x: return x+1 lam2 = lambda x: return x+2 lam3 = lambda x: return x+3 我想这样称呼他们: x = lam1(x) x = lam2(x) x = lam3(x) 大概是这样的: for lam in lams: x = lam(x) 如果我有很多函数要调用,这是很有帮助的,但这将有for循环。如果没有for循环,我还有其他方法可以做到这一点吗?一种可能

假设我有一系列python函数:

lam1 = lambda x: return x+1
lam2 = lambda x: return x+2
lam3 = lambda x: return x+3
我想这样称呼他们:

x = lam1(x)
x = lam2(x)
x = lam3(x)
大概是这样的:

for lam in lams:
    x = lam(x)

如果我有很多函数要调用,这是很有帮助的,但这将有for循环。如果没有for循环,我还有其他方法可以做到这一点吗?

一种可能的解决方案是简单地在另一个函数中使用一个函数,如下所示:

lam1=lambda x:x+1 >>>lam2=lambda x:lam1(x)+2 >>>lam3=λx:lam2(x)+3 >>>lam3(1) 7. 虽然我不明白为什么你会想要这样,没有循环。这种解决方案的缺点是,以这种方式构造的函数数量有限。或者,您可以创建一个循环来创建以下函数:

>>从functools导入部分
>>>oldLam=λx:x
>>>newLam=lambda x,lam,c:lam(x)+c
>>>对于范围(5)中的i:
oldLam=部分(newLam,lam=oldLam,c=i)
>>>奥尔德林(1)
11

除非对您来说也是非法案件……

您不能在lambda中使用return。使用此
lam1=lambda x:x+1
而不使用此
lam1=lambda x:return x+1
而不使用for循环或循环?无论如何,你需要一些循环。你的输入和输出是什么。你的函数的实际用例的可能重复