python3入門之 deque(雙向佇列)

2021-08-14 07:39:31 字數 2387 閱讀 9918

建立雙向佇列

>>> 

import collections

>>> d = collections.deque()

>>> d

deque([1, 2])

>>> d

deque([3, 1, 2])

clear(清空佇列)

>>> d

deque

([3, 1, 2])

>>> d.clear

()>>> d

deque

()

copy(淺拷貝)

>>> d

deque([1, 2])

>>> d1 = d.copy()

>>> d1

deque([1, 2])

count(返回指定元素的出現次數)

>>> d

deque([1, 2, 1])

>>> d.count(1)

2extend(從佇列右邊擴充套件乙個列表的元素)

>>> d.clear()

>>> d.extend([3,4,5])

>>> d

deque([1, 3, 4, 5])

extendleft(從佇列左邊擴充套件乙個列表的元素)

>>> d.clear()

>>> d.extendleft([3,4,5])

>>> d

deque([5, 4, 3, 1])

index(查詢某個元素的索引位置)

>>> d.extend(["a","b","c","d","e"])

>>> d

deque(['a', 'b', 'c', 'd', 'e'])

>>> d.index("c",0,3) #指定查詢區間

2>>> d.index("c",0,2)

traceback (most recent call last):

file "", line 1, in

valueerror: 'c'

isnot

in deque

insert(在指定位置插入元素)

>>> d

deque(['a', 'b', 'c', 'd', 'e'])

>>> d.insert(2,"z")

>>> d

deque(['a', 'b', 'z', 'c', 'd', 'e'])

pop(獲取最右邊乙個元素,並在佇列中刪除)

>>> d

deque(['a', 'b', 'z', 'c', 'd', 'e'])

>>> d.pop()

'e'>>> d

deque(['a', 'b', 'z', 'c', 'd'])

popleft(獲取最左邊的乙個元素,並在佇列中刪除)

>>> d

deque(['a', 'b', 'z', 'c', 'd'])

>>> d.popleft()

'a'>>> d

deque(['b', 'z', 'c', 'd'])

remove(刪除指定元素)

>>> d

deque(['b', 'z', 'c', 'd'])

>>>

>>> d.remove("c")

>>> d

deque(['b', 'z', 'd'])

reverse(佇列翻轉)

>>> d

deque(['a', 'b', 'c', 'd', 'c'])

>>> d.reverse()

>>> d

deque(['c', 'd', 'c', 'b', 'a'])

rotate(把右邊元素放在左邊)

>>> d

deque(['c', 'd', 'c', 'b', 'a'])

>>> d.rotate(2)

>>> d

deque(['b', 'a', 'c', 'd', 'c'])

python3入門之堆(heapq)

堆是乙個二叉樹,其中每個父節點的值都小於或等於其所有子節點的值。整個堆的最小元素總是位於二叉樹的根節點。python的heapq模組提供了對堆的支援。堆資料結構最重要的特徵是heap 0 永遠是最小的元素 注 heap為定義堆,item增加的元素 heapq.heapify list 注 將列表轉換...

Python3入門之 集合型別

set也是一種組合資料型別,支援成員關係操作 in 物件大小計算操作符 len 並且是iterable。集合資料型別至少提供乙個set.isdisjoin 方法,支援比較,也支援為邏輯操作 在集合用於聯合 交叉等上下文中使用 只有可雜湊運算的物件可以新增到集合中,可雜湊運算的物件包含乙個 hash ...

Python3入門之 迭代子

iterable資料型別每次返回其中的乙個資料項。任意包含 iter 方法的物件或任意序列 也即包含 getitem 方法的物件,該方法接受從0開始的整數引數 都是乙個iterable,並可以提供乙個迭代子。迭代子是乙個物件,該物件可以提供 next 方法,該方法依次返回每個相繼的資料項,並在沒有資...