闭坑指南 · Python#性能 #内存
列表推导与性能错觉
语法糖不等于零成本;重复计算与巨大中间列表会拖慢程序。
列表推导与性能错觉
推导式不是魔法
[f(x) for x in items] 和 for 循环往往速度接近。真正影响性能的是:
f(x)是否昂贵、是否重复计算- 是否构建了不需要的巨大列表
生成器表达式
(x for x in ...) 按需计算,适合管道式处理、只遍历一次的数据。
常见误区
- 在推导里调用 I/O 或打印(难调试、副作用隐蔽)
- 嵌套多层推导可读性差,不如普通循环
- 用
list存千万对象却不释放引用
profiling 优先
先 timeit / cProfile 找热点,再优化;不要凭感觉换写法。