目录
lambda 是 Python 中的一个关键字,用于定义匿名函数。匿名函数,顾名思义,是一个没有名字的函数,是一种通过单个语句生成函数的方式,其结果是返回值。它主要用于需要一个函数作为参数的函数式编程场景。 如:map()
, filter()
, sorted()。对于lambda这个关键字仅表达声明一个匿名函数的意思。
一、基本语法:
lambda arguments: expression
arguments
是函数的参数,它们可以是多个,用逗号分隔。expression
是一个单一的表达式,lambda 函数不能包含多条语句、赋值、或者复杂逻辑。
接下来通过实例来介绍匿名函数的用法。
二、实例:
1.接收两个参数并返回它们的和
add = lambda x, y: x + y
print(add(3, 5))
输出为:
8
2. 与map()搭配使用,将原数加倍
numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x ** 2, numbers))
print(doubled)
输出为:
[1, 4, 9, 16, 25]
3. 与filter()配合使用,筛选出偶数
numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)
输出为:
[2, 4, 6]
4.与sorted()配合使用,对字符串长度进行排序
words = ['apple', 'banana', 'cherry', 'date']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)
输出为:
['date', 'apple', 'banana', 'cherry']
三、总结
由于 lambda 函数的语法限制,它只适用于简单的、一行的表达式。对于更复杂的逻辑,建议使用正式的 def
关键字来定义函数。
lambda 函数在定义后会立即返回,所以它们常常在需要即时定义并使用的场景下出现,如函数式编程、回调等。