Python匿名函数/ Lambda函数
在本文中,您将学习匿名函数,也称为lambda函数。您将了解它们的含义,语法以及如何使用它们(包含示例)。
Python中的lambda函数是什么?
在Python中,匿名函数是没有名称定义的函数。
虽然def
在Python中使用关键字定义了普通功能,但使用关键字定义了匿名功能lambda
。
因此,匿名函数也称为lambda函数。
如何在Python中使用lambda函数?
python中的lambda函数具有以下语法。
python中Lambda函数的语法
lambda参数:表达式
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中,我们通常将其用作高阶函数(将其他函数作为arguments的函数)的参数。Lambda函数与filter()
,map()
等内置函数一起使用。
与filter()一起使用的示例
在filter()
Python函数中接受一个函数和一个列表作为参数。
将使用列表中的所有项目调用该函数,并返回一个新列表,其中包含该函数求值的项目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中的函数接受一个函数和一个列表。
将使用列表中的所有项目调用该函数,并返回一个新列表,其中包含该函数为每个项目返回的项目。
这是使用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]
0