lambda
函数是 Python 中的一种匿名函数,它可以用来创建简单的、单行的函数。lambda
函数通常用于需要函数作为参数传递的情况,比如在 map()
、filter()
、reduce()
等函数中。
基本语法
lambda
函数的语法格式如下:
lambda arguments: expression
lambda
是 Python 的关键字,用于定义lambda
函数。arguments
是参数列表,可以包含零个或多个参数,但必须在冒号 (:
) 前指定。expression
是一个表达式,用于计算并返回函数的结果。
示例
- 简单的加法函数
add = lambda x, y: x + y
print(add(3, 5)) # 输出: 8
- 判断奇偶数
is_even = lambda x: x % 2 == 0
print(is_even(7)) # 输出: False
- 对列表元素进行平方操作
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared) # 输出: [1, 4, 9, 16, 25]
- 筛选出偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 输出: [2, 4, 6, 8]
- 使用
lambda
函数作为排序的关键字
students = [('Alice', 22), ('Bob', 18), ('Charlie', 25)]
students.sort(key=lambda x: x[1]) # 按年龄排序
print(students) # 输出: [('Bob', 18), ('Alice', 22), ('Charlie', 25)]
注意事项
lambda
函数通常只包含一行代码,这使得它们适用于编写简单的函数。- 尽管
lambda
函数很方便,但如果函数体较复杂,建议使用普通的命名函数来提高代码的可读性。 - 避免在
lambda
函数中使用复杂的逻辑,以免降低代码的可维护性。
总的来说,lambda
函数是一种简洁而强大的工具,可以在需要时快速定义小型函数,尤其适合用于函数式编程范式中。