如何在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]
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP