Python教程-3.4节:Python匿名函数/ Lambda函数

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