我有一个关于lambda函数的简单问题。我想要做一个循环,在每次迭代中都基于前一个迭代中的lambda函数定义一个新的lambda函数。
f = lambda x: x**2
j=0
J=2
while j<J:
f2 = lambda x: 0.5*f(x)
f = f2
j+=1
我希望f(3)的结果是2.25,即0.5*0.5*3**2。然而,我收到了以下错误信息:
RecursionError: maximum recursion depth exceeded
我认为Lambda函数可以像这样灵活使用。我想知道是否有一种已知的Pythonic方式来正确地做到这一点?
def
而不是lambda
来实现这个的方法? - splinter