大家好,我是正在实战各种AI项目的程序员晚枫。
今天分享一个让我相见恨晚的Python技巧——列表推导式。
第一次学会它的时候,我直接把原来20行的代码压缩成了3行。同事看到都惊了:”这是什么黑魔法?”
其实一点都不难,看完这篇文章你也能掌握。
什么是列表推导式?
简单说,就是用一行代码创建列表的方法。
传统写法(5行)
1 | numbers = [1, 2, 3, 4, 5] |
列表推导式(1行)
1 | numbers = [1, 2, 3, 4, 5] |
效果完全一样,代码少了80%。
基本语法结构
1 | [表达式 for 变量 in 可迭代对象] |
就这么简单!
带条件的推导式
1 | # 只保留偶数 |
多重循环推导式
1 | # 生成坐标点 |
实战案例:数据处理
假设你有一个学生成绩列表,想筛选出及格的学生:
传统写法
1 | scores = [55, 70, 85, 40, 90, 60] |
列表推导式
1 | scores = [55, 70, 85, 40, 90, 60] |
处理10000条数据时,推导式比循环快30%!
字典推导式 & 集合推导式
列表有推导式,字典和集合也有:
字典推导式
1 | names = ['Alice', 'Bob', 'Charlie'] |
集合推导式
1 | numbers = [1, 2, 2, 3, 3, 3] |
什么时候用?什么时候不用?
✅ 适合用的情况
- 简单的数据转换
- 筛选过滤
- 格式转换
❌ 不适合用的情况
- 逻辑太复杂(超过2个条件)
- 需要打印调试信息
- 需要异常处理
原则:可读性优先。如果推导式让人看不懂,就用普通循环。
常见错误
错误1:忘记方括号
1 | # 错的 |
错误2:变量名冲突
1 | # 容易混淆 |
错误3:过度嵌套
1 | # 太难读了 |
推荐:AI Python零基础实战营
如果你想系统学习Python,从基础到实战:
课程包含:
- ✅ Python基础语法(变量、循环、函数)
- ✅ 高级特性(推导式、生成器、装饰器)
- ✅ 数据处理(Excel、CSV、数据库)
- ✅ 自动化办公实战
- ✅ AI辅助编程技巧
🎁 限时福利:前100名送《Python编程从入门到实践》实体书
👉 点击了解详情
相关阅读
PS:列表推导式是Python的精髓之一,掌握它,你的代码会优雅很多。
