我知道如何通过将两个函数作为输入并输出其组合函数来组合两个函数,但是如何返回组合函数f(f(... f(x)))呢?谢谢
def compose2(f, g):
return lambda x: f(g(x))
def f1(x):
return x * 2
def f2(x):
return x + 1
f1_and_f2 = compose2(f1, f2)
f1_and_f2(1)
您可以在嵌套函数内部使用循环:
def compose(f, n):
def fn(x):
for _ in range(n):
x = f(x)
return x
return fn
fn
将具有闭包,该闭包保留对f
和n
调用的引用compose
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句