个性化阅读
专注于IT技术分析

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

上一章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)
赞(0)
未经允许不得转载:srcmini » python3匿名函数和Lambda函数 – Python3教程

评论 抢沙发

评论前必须登录!