📜  Python匿名/ Lambda函数

📅  最后修改于: 2020-09-19 13:36:18             🧑  作者: Mango

在本文中,您将学习匿名函数(也称为lambda函数)。您将了解它们的含义,语法以及如何使用它们(包含示例)。

什么是Python中的lambda函数?

在Python,匿名函数是没有名称定义的函数 。

虽然在Python使用def关键字定义了常规函数,但使用lambda关键字定义了匿名函数。

因此,匿名函数也称为lambda函数。

如何在Python使用lambda函数?

Python中的lambda 函数具有以下语法。

Python中Lambda函数的语法

lambda arguments: expression

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,我们通常将其用作高阶函数的参数(该函数将其他函数作为参数)。 Lambda函数与内置函数(如filter()map()map()

与filter()一起使用的示例

Python的filter() 函数接受一个函数和一个列表作为参数。

将使用列表中的所有项目调用该函数 ,并返回一个新列表,其中包含该函数求值为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()一起使用的示例

Python的map() 函数接受一个函数和一个列表。

将使用列表中的所有项目调用该函数 ,并返回一个新列表,其中包含该函数为每个项目返回的项目。

这是一个使用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]