建立雙向佇列
>>>
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 方法,該方法依次返回每個相繼的資料項,並在沒有資...