python 中的雙向佇列deque

2021-10-10 17:11:14 字數 1696 閱讀 3154

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 也是乙個很好的選擇。這是因為在新建乙個雙向佇列的時候,你可以指定這個佇列的大小,如果這個佇列滿員...