Python 匿名函数(lambda)举例

 

Python 匿名函数(lambda)举例

 
Python 的匿名函数lambda 关键字定义,没有函数名,语法简洁,适合快速定义简单的单行函数,常配合 map/filter/sorted 等函数使用。
 

1. 基础语法

# 格式:lambda 参数: 表达式
lambda x: x * 2  # 接收一个参数x,返回x的2倍
 
 

 

2. 实用举例

 

例 1:最简单的匿名函数

# 定义匿名函数并赋值给变量
double = lambda x: x * 2

# 调用
print(double(5))   # 输出:10
print(double(10))  # 输出:20
 
 

例 2:多参数匿名函数 

# 两个参数:x + y
add = lambda x, y: x + y
print(add(3, 4))  # 输出:7

# 三个参数:计算平均值
avg = lambda a, b, c: (a + b + c) / 3
print(avg(1, 2, 3))  # 输出:2.0
 
 

例 3:带条件判断的匿名函数 

# 判断数字是否为偶数
is_even = lambda x: x % 2 == 0
print(is_even(4))  # True
print(is_even(5))  # False

# 三元运算:大于10返回"大",否则返回"小"
check = lambda x: "大" if x > 10 else "小"
print(check(15))  # 大
 
 

例 4:配合 sorted () 排序(最常用场景)

# 列表里是元组(姓名, 年龄),按年龄排序
people = [("张三", 20), ("李四", 18), ("王五", 25)]

# 匿名函数指定按第二个元素(年龄)排序
people_sorted = sorted(people, key=lambda x: x[1])
print(people_sorted)
# 输出:[('李四', 18), ('张三', 20), ('王五', 25)]
 
 

例 5:配合 map () 映射

# 对列表每个元素平方
nums = [1, 2, 3, 4]
result = list(map(lambda x: x**2, nums))
print(result)  # [1, 4, 9, 16]
 
 

例 6:配合 filter () 过滤 

# 筛选出大于5的数字
nums = [3, 6, 8, 2, 9]
result = list(filter(lambda x: x > 5, nums))
print(result)  # [6, 8, 9]
 
 

 

3. 匿名函数 vs 普通函数

 
普通函数需要定义名称、多行代码: 
def add(x, y):
    return x + y
 
 
匿名函数一行搞定,无需名称:
lambda x, y: x + y
 
 

总结 

  1. lambda 是匿名函数的关键字,只能写单行表达式
  2. 适合简单逻辑,代码更简洁
  3. 常用场景:sorted/map/filterkey 参数
  4. 复杂逻辑必须用普通 def 函数

 

REF

https://www.cnblogs.com/emanlee/p/16341458.html

https://www.cnblogs.com/emanlee/p/15811287.html

https://www.cnblogs.com/emanlee/p/14343374.html

 

posted @ 2026-03-27 17:28  emanlee  阅读(3)  评论(0)    收藏  举报