python - lambda 在 python 中返回 lambda

标签 python function anonymous

我很少会在 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/

相关文章:

python - 解析 **kwargs

linq - 向匿名 Linq 结果集添加人工行

struct - 在 Go 中初始化结构

python - 使用 Python 解析 LLDP 输出

Python API 兼容性检查器

python - OpenCV检测python中的运动

python - 函数python的短路列表

function - 在 Kotlin 中分配给变量的 Lambda 表达式。为什么?

c++ - 我可以将逻辑运算符与函数参数一起使用吗?

java - 控制线程的不同实例