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)) //完全向量化, 用时减少一个数量级