創建列表時,我認爲只要可能,建議理解最快。但是,你看。爲什麼列表乘法這麼快?
In [1]: %timeit -n1000 [0]*1000000
1000 loops, best of 3: 2.3 ms per loop
In [2]: %timeit -n1000 [0 for _ in range(1000000)]
1000 loops, best of 3: 27.1 ms per loop
In [3]: a = np.zeros(1000000, dtype=int)
In [4]: %timeit -n1000 a.tolist()
1000 loops, best of 3: 7.93 ms per loop
即使是numpy.ndarray.tolist
也跟不上乘法。這是爲什麼?
#2實際運行一個python循環,而#1完全沒有任何python循環。 – spectras