上一章Python教程请查看:python3 递归(递归函数)
在本文中,你将了解匿名函数,也称为lambda函数。你将了解它是什么、它的语法以及如何使用它(通过示例)。
Python中的lambda函数是什么?
在Python中,匿名函数是一个没有名称的函数。
虽然普通函数是使用def关键字定义的,但在Python中,匿名函数是使用lambda关键字定义的。
因此,匿名函数也称为lambda函数。
如何在Python中使用lambda函数?
python中的lambda函数有以下语法。
python中Lambda函数的语法
lambda arguments: expression
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)
来源:
https://www.srcmini02.com/2541.html