Python编程:性能、可读性与代码优化
1. 性能考量
在Python编程中,实现相同的结果往往有多种方式,如使用 map 、 zip 、 filter 、列表推导式、生成器函数或表达式,甚至使用 for 循环。在考虑性能时,主要有两个关键因素:空间和时间。
- 空间因素 :指数据结构占用的内存大小。选择时可问自己是否真的需要列表或元组,若简单的生成器函数能满足需求,使用生成器可节省大量空间。不过,有些算法需要多次扫描序列或使用多指针,此时生成器函数就不适用,因为它只能迭代一次。
- 时间因素 :时间性能较复杂,受多种变量影响,不能绝对地说某种方法比另一种快。但根据目前的测试,
map调用速度可能是等效for循环的两倍,而列表推导式通常比map调用更快。这是因为map和列表推导式在解释器中以C语言速度运行,而Python的for循环在Python虚拟机中作为Python字节码运行,速度较慢。
为了验证这些结论,我们来看下面的代码示例:
# performances.py
from time import time
mx = 5500 # this is the max I could reach
超级会员免费看
订阅专栏 解锁全文
1548

被折叠的 条评论
为什么被折叠?



