Python `lambda` 函数详解:写给初学者的极简教程

🚀 Python lambda 函数详解:写给初学者的极简教程

在 Python 中,我们常常会遇到一种特殊的函数 ------ lambda

它不像普通的函数那样用 def 来定义,而是一个匿名函数,适合处理一些"一次性"的简单逻辑。

本文将带你从零了解 lambda 的定义、用法、场景及注意事项。


📌 什么是 lambda 函数?

lambda 是 Python 中的匿名函数,常用于需要临时函数对象的场景,比如排序、过滤、映射等。

python 复制代码
lambda 参数1, 参数2, ..., 参数N: 表达式
  • lambda 关键字表示这是一个匿名函数。
  • 冒号后是一个表达式(不是语句),它的值就是返回值。
  • lambda 会自动返回这个表达式的结果。

🧪 入门示例

python 复制代码
# 普通写法
def add(x, y):
    return x + y

# lambda 写法
add = lambda x, y: x + y

print(add(3, 5))  # 输出:8

💡 常见使用场景

✅ 1. sorted() 自定义排序

python 复制代码
students = [("Alice", 85), ("Bob", 90), ("Charlie", 80)]

# 按成绩排序(升序)
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)

✅ 2. map() 做批量转换

python 复制代码
nums = [1, 2, 3, 4]
squares = list(map(lambda x: x ** 2, nums))
print(squares)  # [1, 4, 9, 16]

✅ 3. filter() 条件过滤数据

python 复制代码
nums = [1, 2, 3, 4, 5, 6]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)  # [2, 4, 6]

✅ 4. 一次性回调函数(如按钮事件)

python 复制代码
import tkinter as tk

btn = tk.Button(text="点击", command=lambda: print("点击了按钮"))
btn.pack()

适用于临时逻辑,无需额外定义函数。


⚠️ 注意事项

注意点 说明
表达式 lambda 后面只能写表达式,不能写多行语句
适用范围 适合短小、一次性使用的函数
可读性 过度使用 lambda 可能会让代码难懂,需权衡

🧩 实战技巧:多级排序

当我们排序时遇到主键相同时,可加入备用排序键:

python 复制代码
students = [("Alice", 85), ("Bob", 90), ("Charlie", 85)]
# 成绩一样时按名字排序
sorted_students = sorted(students, key=lambda x: (x[1], x[0]))

📷 多级排序图示:\


🎯 总结

lambda 是 Python 中的一个小巧精悍的函数表达式工具,适合用于 map、filter、sorted、GUI 回调等

相关推荐
b2077212 分钟前
Flutter for OpenHarmony 身体健康状况记录App实战 - 提醒设置实现
python·flutter·macos·cocoa·harmonyos
2301_822365037 分钟前
数据分析与科学计算
jvm·数据库·python
河北小博博9 分钟前
分布式系统稳定性基石:熔断与限流的深度解析(附Python实战)
java·开发语言·python
黄连升13 分钟前
Python学习第二天,系统学习基础
python·学习
西红市杰出青年19 分钟前
CSS 选择器详细教程:原理、语法、方向/“轴”与实战
css·python
tudficdew19 分钟前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
爱学习的阿磊27 分钟前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
智航GIS33 分钟前
ArcGIS Python零基础脚本开发教程---1.1 Describe 函数
开发语言·python·arcgis
Dreaming_of_you36 分钟前
pytorch/cv2/pil/torchvision处理图像缩小的最佳方案
人工智能·pytorch·python·opencv
Testopia1 小时前
走一遍 AI 学习之路 —— AI实例系列说明
开发语言·人工智能·python