了解 Lambda 函数的工作原理 [重复]

Posted

技术标签:

【中文标题】了解 Lambda 函数的工作原理 [重复]【英文标题】:Understanding how Lambda function works [duplicate] 【发布时间】:2017-03-20 00:23:19 【问题描述】:

帮助我理解 Lambda 函数,我检查了很多代码,但我仍然无法理解它。也许有一个简单的例子,在此先感谢。

【问题讨论】:

google.com/… docs.python.org/3/tutorial/controlflow.html#lambda-expressions diveintopython.net/power_of_introspection/lambda_functions.html 谢谢你我猜 简短版:Lambda 是匿名函数(它们没有像普通函数那样的名称)。常用于创建回调或传递给其他函数调用 【参考方案1】:

假设你想在一个列表中取平方,foo = [1,2,3,4,5]

for i in range(len(a)):
    a[i] = a[i] * a[i] 

你可以用 lambda 写

map(lambda x: x * x, foo)

如果你只想要被 3 整除的元素,那么

filter(lambda x: x % 3 == 0, foo)

基本上,它使您免于编写 for 循环,或者更好地以一种有效的方式编写它。

【讨论】:

哦,我现在看到了,顺便说一句,“x:”部分是不是意味着类似于 for 循环? @BlueMonday 该 lambda 完全等同于 def some_function(x): return x * x。请注意,x 是一个参数,x * x 是使用该参数的表达式。这里发生的只是代码通过不定义单独的函数节省了一点空间。它很有用,因为它将有趣的部分 (x * x) 移动到更靠近它的用途(地图)。

以上是关于了解 Lambda 函数的工作原理 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

了解 super 的工作原理[重复]

了解递归函数的工作原理

了解功能特征模板的工作原理。特别是指向成员函数的指针是怎么回事

如何传递和使用任意lambda函数作为参数[重复]

C#启动一个线程数组[重复]

使用来自本地主机的 AWS Lambda REST URL [重复]