Loading

python笔记(优化相关)

1. 列表推导: https://www.cnblogs.com/liu-shuai/p/6098227.html

列表推导的速度比普通循环快一倍左右

 

2. 尽可能多地使用内置方法: https://blog.csdn.net/pipisorry/article/details/39235753

 

3. 时间计量:

tib=time.clock()
...
tie=time.clock()
print("time = " + str(1000*(tie-tib)) + "ms")

 

4. 避免对长列表使用append, 改用np.empty然后逐个赋值
 
5. 使用numpy内部函数处理np数组是速度最快的方式: https://blog.csdn.net/Yeuing/article/details/38018183
 
6. 能向量化计算的就不要迭代:
c1 = np.sum(np.array([(a[i]-u1)**2 for i in range(i)]) //列表推导,速度较慢
c1 = np.sum(np.vectorize(lambda x: (x-u1)**2)(a[0:i])) //伪向量化(vectorize并不能提升性能), 速度近似列表推导
c1 = np.sum(np.square(a[0:i] - u1)) //完全向量化, 用时减少一个数量级
 
 
posted @ 2018-08-24 11:21  云野Winfield  阅读(110)  评论(0编辑  收藏  举报