我很少会在 python 中遇到一些使用匿名函数返回匿名函数的代码...?
不幸的是我找不到手头的例子,但它通常采用这样的形式:
g = lambda x,c: x**c lambda c: c+1
为什么有人会这样做?也许你可以举一个有意义的例子(我不确定我做的那个是否有意义)。
编辑:这是一个例子:
swap = lambda a,x,y:(lambda f=a.__setitem__:(f(x,(a[x],a[y])),
f(y,a[x][0]),f(x,a[x][1])))()
最佳答案
您可以使用这样的构造来柯里化(Currying):
curry = lambda f, a: lambda x: f(a, x)
你可以像这样使用它:
>>> add = lambda x, y: x + y
>>> add5 = curry(add, 5)
>>> add5(3)
8
关于python - lambda 在 python 中返回 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4362153/