Python 如何使用Lambda函数

Python 如何使用Lambda函数

Python Lambda函数的匿名特性意味着它们没有名字。正如我们已经知道的,标准的Python函数是使用def关键字定义的。类似于此,lambda关键字在Python中被用来声明一个匿名函数。

语法

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

lambda arguments: expression

无论参数的数量如何,在该函数中只有一个表达式被计算和返回。

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

必须始终记住Lambda函数在语法上被限制为只有一个表达式。除了函数中的其他种类的表达式外,在编程的某些领域中它有各种用途。它们会即时返回函数的定义。

Lambda函数不包含返回语句,它们总是返回一个表达式。您可以随时在需要函数的任何地方放置一个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函数添加数字的示例。在下面的示例中,我们将一个int值作为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]

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程