class collections.deque([iterable[, maxlen]])
deque
是乙個執行緒安全,可以快速在兩端操作的資料型別。
如果maxlen沒有指定,那麼deque可以無限增長;反之,deque滿了之後,再有新的元素加入時,就會從另一端刪除舊元素。
函式說明
clear()
copy()
淺拷貝extend(iterable)
extendleft
insert(index,value)
如果插入會導致乙個限長 deque 超出長度 maxlen 的話,就引發乙個 indexerror。
pop()
返回並刪除隊頭
popleft()
remove(value)
移除找到的第乙個 value。 如果沒有的話就引發 valueerror。
revere()
rotate(n)
如果n>0,向右迴圈移動n步,如果n<0,向左迴圈移動n步。原地操作
count(value)
value的個數
index(value)
若value不存在,會引起valueerror
in [1]
:from collections import deque
in [2]
: s=deque(
range(5
),10)
in [3]
: sout[3]
: deque([0
,1,2
,3,4
])#extend後元素數目超過maxlen,因此刪除左側元素
in [5]
: s.extend(
range(5
,11))
in [6]
: sout[6]
: deque([1
,2,3
,4,5
,6,7
,8,9
,10])
in [7]
: s.rotate(5)
in [8]
: sout[8]
: deque([6
,7,8
,9,10
,1,2
,3,4
,5])
in [9]
: s.index(22)
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
---valueerror traceback (most recent call last)
input-9
-ead4934e3f4c>
in--
-->
1 s.index(22)
valueerror:
22is
notin deque
參考:
流暢的python
deque 文件
Python筆記之雙向佇列
collections.deque類 雙向佇列 是乙個執行緒安全,可以快速從兩端新增或者刪除元素的資料型別。而且如果想要一種資料型別來存放 最近用到的幾個元素 deque也是乙個很好的選擇。這是因為在新建乙個雙向佇列的時候,你可以指定這個佇列的大小,如果這個佇列滿員了,還可以從反向端刪除過期的元素,...
Python雙向佇列是什麼
1 說明 python 的雙向佇列使用 collections.deque 類來實現。它是乙個執行緒安全且可以快速從兩端新增或者刪除元素的類。deque d k 2 例項 luciano ramalho 舉了乙個示例來說明雙向佇列的基本用法。from collections import deque...
python教程 對雙向佇列的理解
介紹 deque 是什麼 collections.deque 類 雙向佇列 是乙個執行緒安全 可以快速從兩端新增或者刪除元素的資料型別。而且如果想要有一種資料型別來存 放 最近用到的幾個元素 deque 也是乙個很好的選擇。這是因為在新建乙個雙向佇列的時候,你可以指定這個佇列的大小,如果這個佇列滿員...