一、lambda
在Python中,lambda
表达式是一种匿名函数的方式,用于创建简单的、小型的函数。它通常在需要一个函数,但不需要定义一个完整的函数(使用 def
关键字)的情况下使用。lambda
表达式的语法如下:
lambda arguments: expression
lambda
:关键字用于声明一个 lambda 表达式。arguments
:是一个参数列表,类似于函数的参数列表,但不需要在括号内声明参数类型。expression
:是一个表达式,用于定义 lambda 函数的行为,它会被求值并返回结果。
二、使用
以下是一些示例,演示了如何使用 lambda 表达式:
-
简单的 lambda 表达式:
square = lambda x: x ** 2 print(square(5)) # 输出:25
这个 lambda 表达式接受一个参数
x
,并返回x
的平方。 -
与内置函数一起使用:
# 使用 lambda 表达式排序列表 names = ["Alice", "Bob", "Charlie", "David"] names.sort(key=lambda name: len(name)) print(names) # 输出:['Bob', 'Alice', 'David', 'Charlie']
这里我们使用 lambda 表达式作为
sort
函数的key
参数,按名称的长度进行排序。 -
在高阶函数中使用:
# 使用 lambda 表达式过滤列表中的偶数 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers) # 输出:[2, 4, 6, 8]
这里我们使用 lambda 表达式作为
filter
函数的过滤条件,只保留偶数。
尽管 lambda 表达式对于编写简单的函数很有用,但请注意,它们通常用于定义一次性的小函数。对于更复杂的函数或需要多行代码的函数,建议使用 def
关键字来定义命名函数。
参考: