如何在Python中使用lambda迭代

Rui*_*ngd 0 python lambda iterator

感谢你们。我发现我无法在互联网上发布我的问题。

不过,这对我确实很有帮助。

sau*_*atz 5

Compose 需要 3 个参数:要组合的函数、组合的次数以及初始参数。因此,如果您想计算 f(f(f(7))),您可以调用 compose(f, 3, 7)。

def compose(f, n, x):
   if n == 0: return x
   return compose(f, n-1, f(x))
Run Code Online (Sandbox Code Playgroud)

我突然想到,也许这并不完全是你想要的。也许您希望能够编写g = compose(f, 3)然后调用g(7)。这只需要一个小的修改:

def compose(g, m):
    def composer(f, n, x):
       if n == 0: return x
       return compose(f, n-1, f(x))
    return lambda x: composer(g, m, x)
Run Code Online (Sandbox Code Playgroud)