Python列表推导式怎么写_高效生成数据技巧【指导】

舞夢輝影
发布: 2025-12-18 18:19:22
原创
191人浏览过
列表推导式是Python中简洁高效生成列表的语法,支持基础生成、条件筛选、嵌套循环及函数调用,但需避免副作用且不宜过度嵌套。

python列表推导式怎么写_高效生成数据技巧【指导】

列表推导式是 Python 中简洁高效生成列表的核心语法,用一行代码替代 for 循环 + append,既可读又快。

基础写法:从一个序列生成新列表

最常见形式:[表达式 for 变量 in 可迭代对象]。比如把一串数字平方:

  • [x ** 2 for x in [1, 2, 3, 4]][1, 4, 9, 16]
  • 等价于手动循环:res = []; for x in [1,2,3,4]: res.append(x**2)

带条件筛选:只保留符合条件的元素

在末尾加 if 条件,实现过滤。注意不能用 elif 或 else 单独出现:

  • [x for x in range(10) if x % 2 == 0][0, 2, 4, 6, 8]
  • 想同时处理奇数为负、偶数为正?用三元表达式:[x if x % 2 == 0 else -x for x in range(5)]

嵌套循环:处理二维结构或笛卡尔积

多个 for 并列,顺序和嵌套 for 循环一致。常用于展平二维列表或生成坐标对:

代码小浣熊
代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 429
查看详情 代码小浣熊

立即学习Python免费学习笔记(深入)”;

  • 展平:[num for row in [[1,2], [3,4], [5]] for num in row][1, 2, 3, 4, 5]
  • 坐标组合:[(x, y) for x in [1,2] for y in ['a','b']][(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]

配合函数与方法:提升表达力

推导式中可直接调用函数(包括自定义函数),让逻辑更清晰:

  • [len(s) for s in ['hello', 'hi', 'python']][5, 2, 6]
  • 预处理再计算:[s.upper().replace('A', '*') for s in ['apple', 'banana']]
  • 避免副作用:推导式里别调用 print() 或修改外部变量,它本意是纯表达式

不复杂但容易忽略:括号必须是方括号;逗号不能少;变量作用域仅限推导式内部;过度嵌套会降低可读性,三层以上建议拆成普通循环。

以上就是Python列表推导式怎么写_高效生成数据技巧【指导】的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号