python3匿名函数和Lambda函数 – Python3教程

上一章Python教程请查看:python3 递归(递归函数)
在本文中,你将了解匿名函数,也称为lambda函数。你将了解它是什么、它的语法以及如何使用它(通过示例)。
Python中的lambda函数是什么?在Python中,匿名函数是一个没有名称的函数。
虽然普通函数是使用def关键字定义的,但在Python中,匿名函数是使用lambda关键字定义的。
因此,匿名函数也称为lambda函数。
如何在Python中使用lambda函数?python中的lambda函数有以下语法。
python中Lambda函数的语法

lambda arguments: expression

【python3匿名函数和Lambda函数 – Python3教程】Lambda函数可以有任意数量的参数,但只能有一个表达式。表达式求值并返回。Lambda函数可以用于任何需要函数对象的地方。
python中Lambda函数的例子
下面是一个lambda函数的示例,它使输入值加倍。
# 程序显示lambda函数的使用double = lambda x: x * 2# 输出: 10 print(double(5))

在上面的程序中,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()一起使用的示例
Python中的filter()函数接受一个函数和一个列表作为参数。
使用列表中的所有项调用该函数,并返回一个新列表,其中包含函数求值为True的项。
下面是使用filter()函数从列表中过滤出偶数的一个示例。
# 程序从列表中过滤出偶数项my_list = [1, 5, 4, 6, 8, 11, 3, 12]new_list = list(filter(lambda x: (x%2 == 0) , my_list))# 输出: [4, 6, 8, 12] print(new_list)

与map()一起使用的示例
Python中的map()函数接受一个函数和一个列表。
使用列表中的所有项调用该函数,并返回一个新列表,其中包含该函数为每个项返回的项。
下面是使用map()函数使列表中的所有项加倍的示例。
# 使用map()将列表中的每个项加倍my_list = [1, 5, 4, 6, 8, 11, 3, 12]new_list = list(map(lambda x: x * 2 , my_list))# 输出: [2, 10, 8, 12, 16, 22, 6, 24] print(new_list)

    推荐阅读