1. 程式人生 > >python筆記(優化相關)

python筆記(優化相關)

快的 class 提升性能 time 減少 .com .cn sum ber

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)) 完全向量化, 用時減少一個數量級

python筆記(優化相關)