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)
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |