Skip to content

Python 匿名函数(Lambda)

1. 匿名函数(Lambda)

1.1 什么是匿名函数?

在 Python 中,匿名函数是一种 没有名称 的临时函数,通常用于需要 简单函数 而不想正式定义 def 结构的场景。Python 使用 lambda 关键字创建匿名函数。

1.2 语法结构

python
lambda 参数: 表达式

lambda 函数只能包含 单个表达式,计算结果会被自动返回。

1.3 示例

python
# 计算平方数的匿名函数
square = lambda x: x ** 2
print(square(5))  # 输出: 25

# 两数相加的匿名函数
add = lambda a, b: a + b
print(add(3, 7))  # 输出: 10

1.4 匿名函数的常见应用

(1) lambda 作为 map() 的参数

python
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)  # 输出: [1, 4, 9, 16]

(2) lambda 作为 filter() 的参数

python
nums = [1, 2, 3, 4, 5]
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens)  # 输出: [2, 4]

(3) lambda 作为 sorted() 的参数

python
students = [("Alice", 85), ("Bob", 92), ("Charlie", 78)]
# 按成绩排序
sorted_students = sorted(students, key=lambda x: x[1], reverse=True)
print(sorted_students)
# 输出: [('Bob', 92), ('Alice', 85), ('Charlie', 78)]