如何在Python中使用Lambda函数?


Python Lambda函数的匿名特性表明它们没有名称。正如我们所知,标准的Python函数是用`def`关键字定义的。类似地,Python使用`lambda`关键字声明匿名函数。

语法

Python中lambda表达式的语法如下:

lambda arguments: expression

此函数只计算并返回一个表达式,无论参数个数多少。

Lambda函数可以用于任何需要函数对象的地方。

必须始终记住,lambda函数在语法上仅限于单个表达式。除了函数中的其他类型的表达式外,它在某些编程领域还有多种用途。它们动态返回函数的定义。

Lambda函数不包含`return`语句,它们始终返回一个表达式。你可以在任何需要函数的地方放置lambda定义。假设我们有一个仅使用一次且仅从一个地方调用的函数,那么我们可以使用lambda函数。因此,无需为其命名,你可以在此处定义功能。因此,我们消除了函数的使用并使用了Lambda表达式。

示例1

让我们来看一下下面的lambda函数示例。

# Python program to demonstrate lambda functions x ="HelloWorld" # lambda gets pass to print (lambda x : print(x))(x)

输出

获得以下输出。

HelloWorld

示例2

让我们来看一下使用lambda函数添加数字的示例。在下面的示例中,我们将一个整数作为单个参数传递给lambda函数,该函数将100添加到给定的数字。

x = lambda a : a + 100 print(x(5))

输出

获得以下输出。

105

示例3

如上例所示,我们给lambda函数输入单个参数,我们也可以输入多个参数。让我们来看一个有多个参数的例子。

x = lambda a, b : a * b print(x(9, 1))

输出

获得以下输出。

9

示例4

让我们来看一下用于列表推导的lambda函数。

列表用于在单个变量中存储多个项目。列表是Python中用于存储数据集合的四种内置数据类型之一;另外三种是元组、集合和字典,每种都有其独特的用途。当你想根据现有列表的值创建新列表时,列表推导式提供了一种更简洁的语法。

tables = [lambda x=x: x*10 for x in range(1, 11)] for table in tables: print(table())

输出

获得以下输出。

10
20
30
40
50
60
70
80
90
100

示例5

虽然lambda函数不允许使用多个语句,但我们可以创建两个lambda函数,然后将其中一个作为参数传递给另一个。让我们使用lambda查找第二大的元素。

List = [[4,3,4],[9, 4, 16, 64],[3, 6, 9, 12]] #Sorting sublist sortList = lambda x: (sorted(i) for i in x) # Get the second largest element secondLargest = lambda x, f : [y[len(y)-2] for y in f(x)] result = secondLargest(List, sortList) print(result)

输出

输出如下。

[4, 16, 9]

更新于:2022年9月16日

2K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.