使用列表資料結構並不是一種有效的方法。乙個佇列會更合適。在任何情況下:
使用佇列》 q = collections.deque([1,2,3,4,5,6,7,8])
>>> for _ in xrange(5):
... q.rotate(-1)
>>> q
deque([6, 7, 8, 1, 2, 3, 4, 5])
保留列表
^$或者(比前乙個快):>>> a = [1,2,3,4,5,6,7,8]
>>> for _ in xrange(5):
>>> a
[6, 7, 8, 1, 2, 3, 4, 5]
在這裡,您可以為您想要迭代的任何內容更改xrange。在
timeit分析:
0.24548697471618652
23.65538215637207
切片》 timeit.timeit('a=a[1:] + a[:1]', setup='a = [0,1,2,3,4,5,6,7,8,9]', number=1000000)
0.36037278175354004
>>> timeit.timeit('a=a[1:] + a[:1]', setup='a = [0,1,2,3,4,5,6,7,8,9]', number=100000000)
35.06173801422119
排隊》 timeit.timeit('q.rotate(-1)', setup='import collections; q = collections.deque([0,1,2,3,4,5,6,7,8])', number=1000000)
0.16829514503479004
>>> timeit.timeit('q.rotate(-1)', setup='import collections; q = collections.deque([0,1,2,3,4,5,6,7,8])', number=100000000)
16.012277841567993
0.15255093574523926
14.50795292854309
排隊》 timeit.timeit('r(-1)', setup='import collections; q = collections.deque([0,1,2,3,4,5,6,7,8]); r=q.rotate', number=1000000)
0.13374090194702148
>>> timeit.timeit('r(-1)', setup='import collections; q = collections.deque([0,1,2,3,4,5,6,7,8]); r=q.rotate', number=100000000)
11.435136079788208
動態改變陣列的大小
在陣列後追加值 param oldarray 要追加值的陣列 param str 要新增的元素 return 如果陣列是null,則返回新陣列並將值加入,否則返回老陣列的值copy到新陣列並將值追加進去。if null oldarray string newarray new string olda...
Numpy改變陣列的形狀
import numpy as np n np.arange 10 array 0,1,2,3,4,5,6,7,8,9 檢視陣列的大小 n.size 10 將陣列分為兩行五列 n.shape 2,5 array 0,1,2,3,4 5,6,7,8,9 顯示陣列的維度 n.shape 2,5 設定陣列...
reshape 改變陣列的形狀
reshape 改變陣列的形狀的用法 numpy.reshape 函式可以在不改變資料的條件下修改形狀,準確來說就是陣列的列數和行數。使用模板 numpy.reshape arr,newshape,order c 行,列 引數解釋 arr 要修改形狀的陣列 newshape 整數或者整數陣列,新的形...