原则
**
- 尽量减少循环内部不必要的计算
- 嵌套循环中,尽量减少内层循环的计算,尽可能向外提
- 局部变量查询较快,尽量使用局部变量
- 连接多个字符串,使用join()而不使用+
- 列表进行元素插入和删除,尽量在列表尾部操作
**
测试
import time
start_time = time.time()
for i in range(1000):
result=[]
for m in range(10000):
c = i * 1000
result = result + [m * 100] #使用拼接, 会产生大量新对象
#result.append(c+m*100)
end_time = time.time()
print("优化前耗时:{0}".format(end_time-start_time))
print("-"*30,"简单循环优化后",'-'*30)
start_time2 = time.time()
for i in range(1000):
result = []
c= i * 1000
for m in range(10000):
result.append(c+m*100)
end_time2 = time.time()
print("优化后耗时:{0}".format(end_time2-start_time2))
运行结果:
优化前耗时:106.35962533950806
------------------------------ 简单循环优化后 ------------------------------
优化后耗时:1.205930471420288
进程已结束,退出代码为 0