首页 > 技术文章 > Python Lambda匿名函数示例

freeaihub 2020-06-18 16:47 原文

本文转自https://www.freeaihub.com/article/lambda-in-python.html,该页可在线互动学习匿名函数

在本示例中,我们将看到如何在Python中使用Lambda函数。您将了解它的含义,语法以及如何使用它。

Python匿名或lambda函数是没有名称定义的函数。虽然标准函数是使用def关键字定义的,但在Python中,匿名函数是使用lambda关键字定义的。

Python Lambda函数

python中的lambda函数具有以下语法。

lambda arguments: expression

Lambda函数可以具有任意数量的参数,但只能有一个表达式。该表达式将被求值并返回。Lambda函数可在需要函数对象的任何地方使用。

让我们看下面的例子。

square = lambda x: x * x
print(square(5))

它的行为类似于普通函数并提供输出。

在上面的程序中,lambda x:x * x是lambda函数。这里 X 是参数和 X * X是被评估,返回的表达。

Lambda函数没有名称。它返回分配给标识符double的功能对象。我们现在可以称其为正常功能。声明如下,

square = lambda x: x * x

与上方的定义相同的效果

def square(x):
   return x * x

在Python中,我们通常使用Lambda函数作为高阶函数的参数,该函数以其他函数作为参数。匿名函数与内置函数(如 filter()map())一起使用

带filter()的Lambda函数高阶函数

让我们以带有高阶函数的Lambda函数为例。

integers = range(1, 10)
even = list(filter(lambda x: x % 2 == 0, integers))
print(even)

在第一行中,我们定义了整数列表,然后使用了 过滤器的高阶方法并传递了lambda函数,该函数一个接一个地列出列表的参数,然后过滤掉数据,然后返回包含过滤数据的列表。

带map()的Lambda函数高阶函数

Python中的 map()函数接受该函数和一个列表。

调用Lambda函数并将其包含在列表中的所有项目中,并返回一个新列表,其中包含该函数为每个项目返回的项目。

这是使用map() 函数对列表中所有整数项求平方的示例 。

integersList = range(1, 6)
squares = list(map(lambda x: x * x, integersList))
print(squares)

上面的代码从integersList中 获取每个整数, 然后将所有项目一一平方,然后创建一个列表,然后返回该平方的项目列表。因此,它已将列表映射到平方列表。

最后,Python Lambda匿名函数教程结束了。

推荐阅读