Python 匿名/Lambda 函数
Python 匿名/Lambda 函数
在本文中,您将了解匿名函数,也称为 lambda 函数。您将了解它们是什么、它们的语法以及如何使用它们(通过示例)。
视频:Python Lambda
什么是 Python 中的 lambda 函数?
在 Python 中,匿名函数是一个没有名字定义的函数。
而普通函数是使用 def
定义的 Python 中的关键字,匿名函数使用 lambda
定义 关键字。
因此,匿名函数也称为 lambda 函数。
如何在 Python 中使用 lambda 函数?
python 中的 lambda 函数具有以下语法。
python 中 Lambda 函数的语法
lambda arguments: expression
Lambda 函数可以有任意数量的参数,但只能有一个表达式。表达式被计算并返回。 Lambda 函数可用于任何需要函数对象的地方。
python中的Lambda函数示例
下面是一个将输入值加倍的 lambda 函数示例。
# Program to show the use of lambda functions
double = lambda x: x * 2
print(double(5))
输出
10
在上面的程序中,lambda x: x * 2
是 lambda 函数。这里 x 是参数和 x * 2
是被计算并返回的表达式。
这个函数没有名字。它返回一个分配给标识符 double
的函数对象 .我们现在可以将其称为普通函数。声明
double = lambda x: x * 2
几乎是一样的:
def double(x): return x * 2
在 python 中使用 Lambda 函数
当我们在短时间内需要一个无名函数时,我们会使用 lambda 函数。
在 Python 中,我们通常将它用作高阶函数(一个接受其他函数作为参数的函数)的参数。 Lambda 函数与 filter()
等内置函数一起使用 , map()
等等
filter() 的使用示例
filter()
Python 中的 function 接受一个函数和一个列表作为参数。
使用列表中的所有项目调用该函数,并返回一个新列表,其中包含函数计算结果为 True
的项目 .
这是 filter()
的示例使用 函数只过滤掉列表中的偶数。
# Program to filter out only the even items from a list
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x%2 == 0) , my_list))
print(new_list)
输出
[4, 6, 8, 12]
map() 的使用示例
map()
Python 中的 function 接受一个函数和一个列表。
使用列表中的所有项目调用该函数,并返回一个新列表,其中包含该函数为每个项目返回的项目。
这是 map()
的示例使用 函数将列表中的所有项目加倍。
# Program to double each item in a list using map()
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2 , my_list))
print(new_list)
输出
[2, 10, 8, 12, 16, 22, 6, 24]
Python