【发布时间】:2017-07-10 12:22:41
【问题描述】:
我有一个关于 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方法可以正确地做到这一点?
【问题讨论】:
标签: python python-3.x loops lambda