了解 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 函数的工作原理 [重复]的主要内容,如果未能解决你的问题,请参考以下文章