如何在Python中使用Lambda函数?
Python Lambda函数匿名,没有名称。我们已经熟悉了使用def关键字定义标准Python函数。类似于此,lambda关键字用于在Python中声明匿名函数。
更多Python相关文章,请阅读:Python 教程
语法
在Python中,lambda表达式的语法如下:
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
让我们看一个使用λ函数添加数字的示例。在下面的例子中,我们将一个int值作为单个参数传递给λ函数,该函数将100添加到给定数字中。
x = lambda a : a + 100
print(x(5))
输出
获取以下输出。
105
示例3
如上例所示,我们将单个参数作为输入给lambda函数,我们也可以给出多个参数作为输入。看一个具有多个参数的例子。
x = lambda a, b : a * b
print(x(9, 1))
输出
获取以下输出。
9
示例4
让我们看一个用于列表推导的λ函数。
列表(Lists) 用于在单个变量中存储多个项目。用于在Python中存储数据集合的四种内置数据类型之一是列表(list);其他三个是元组(tuple)、集合(set)和字典(dictionary),每个都有其独特的用途。当您希望基于现有列表的值创建新列表时, 列表推导 提供了更简洁的语法。
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]