使用关键字 lambda 定义,语法如下:
lambda 参数列表: 表达式
参数列表 是该函数接收的参数,表达式 是函数的返回值。Lambda 表达式可以有多个参数,但只能有一个表达式。
示例
以下是一个简单的 Lambda 表达式,它接受两个参数并返回它们的和:
add = lambda x, y: x + y
#kw #参数列表 #表达式
print(add(3, 5)) # 输出: 8
等价于一个常规函数:
def add(x, y):
return x + y
Lambda 表达式的用途
简化代码:Lambda 表达式常用于需要简单函数的场景,比如排序、过滤等。
# 排序一个列表,按绝对值大小排序
numbers = [-2, -1, 0, 1, 2]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers) # 输出: [0, -1, 1, -2, 2]
函数式编程:在 map、filter、reduce 等函数式编程中经常使用 Lambda 表达式。
# 使用map将一个列表中的每个元素都乘以2
numbers = [1, 2, 3, 4]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled) # 输出: [2, 4, 6, 8]
避免定义不必要的函数:在简单的场景中,使用 Lambda 表达式可以避免定义一个完整的函数来执行一项简单的任务。