deque模組(內建list結構的加強版)是python標準庫collections中的一項,它提供了兩端都可進行新增/刪除操作的序列。
建立deque序列:
from collections import deque
d=deque(
)
from collections import deque
d = deque()3
)print
(d)# deque([3])8)
print
(d)# deque([8, 3])1)
print
(d)# deque([8, 3, 1])
pop:
from collections import deque
d = deque([1
,2,3
,4,5
])print
(d.pop())
# 5print
(d.pop())
# 4print
(d.popleft())
# 1
限制deque的長度
from collections import deque
d=deque(maxlen=20)
for i in
range(30
):str(i)
)print
(d)# deque(['10', '11', '12', '13', '14', '15',
# '16', '17', '18', '19', '20', '21',
# '22', '23', '24', '25', '26', '27',
# '28', '29'], maxlen=20)
from collections import deque
d = deque([1
,2,3
,4,5
])d.extend([0
])print
(d)# deque([1, 2, 3, 4, 5, 0])
d.extendleft([6
,7,8
])print
(d)# deque([8, 7, 6, 1, 2, 3, 4, 5, 0])
rotate
from collections import deque
d = deque(
range(10
))print
(d)# deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
d.rotate(2)
print
(d)# deque([8, 9, 0, 1, 2, 3, 4, 5, 6, 7])
d = deque(
range(10
))d.rotate(-2
)print
(d)# deque([2, 3, 4, 5, 6, 7, 8, 9, 0, 1])
import sys
import time
from collections import deque
"""使用deque.rotate實現跑馬燈動畫
"""arr = deque(
'>--------------------'
)while
true
:print
('%s'%''
.join(arr)
) arr.rotate(1)
sys.stdout.flush(
) time.sleep(
0.08
)'''
>--------------------
->-------------------
-->------------------
--->-----------------
---->----------------
----->---------------
------>--------------
------->-------------
-------->------------
'''
Python Deque 模組使用詳解
建立deque序列 from collections import deque d deque deque提供了類似list的操作方法 d deque d.append 1 d.append 2 d.append 3 len d d 0 d 1 輸出結果 3 1 3 兩端都使用pop d deque...
python deque和list的效能對比
使用list儲存資料時,按索引訪問元素很快,但是插入和刪除元素就很慢了,因為list是線性儲存,資料量大的時候,插入和刪除效率很低。deque是為了高效實現插入和刪除操作的雙向列表,適合用於佇列和棧 例子 每次擴充套件1億長度的list,看deque和list的效能。coding utf 8 fro...
sys模組用法
sys常見的函式 sys.argv 實現從程式外部向程式傳遞引數。sys.exit n 執行到主程式末尾,直譯器自動退出,但是如果需要中途退出程式,可以呼叫sys.exit 函式,帶有乙個可選的整數引數返回給呼叫它的程式,表示你可以在主程式中捕獲對sys.exit的呼叫 0是正常退出,其他為異常 s...