lambda
函数是 Python 中的一种小型匿名函数。它主要用于需要一个函数作为参数的场合,但又不想定义一个完整的函数。lambda
函数可以接收任意数量的参数,但只能返回一个表达式的值。
语法
lambda arguments: expression
arguments
是函数参数。expression
是一个关于参数的表达式,lambda
函数返回该表达式的值。
示例
1、简单的 lambda 函数
f = lambda x: x * 2
print(f(5)) # 输出 10
2、带有两个参数的 lambda 函数
g = lambda x, y: x + y
print(g(3, 4)) # 输出 7
3、在 map
函数中使用 lambda
假设我们有一个数字列表,我们想要将列表中的每个数字都乘以2:
numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled) # 输出 [2, 4, 6, 8, 10]
4、在 filter
函数中使用 lambda
假设我们想要过滤出一个列表中所有的偶数:
numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens) # 输出 [2, 4, 6]
5、在 sorted
函数中使用 lambda
假设我们有一个字符串列表,我们想要根据字符串的长度对它们进行排序:
words = ['apple', 'banana', 'cherry', 'date']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words) # 输出 ['date', 'apple', 'cherry', 'banana']
lambda 函数非常灵活,可以在很多需要简单函数的地方使用。但是,请注意,对于更复杂的函数,使用 def
关键字定义常规函数通常更为清晰和可读。