python3入門之 deque(雙向佇列)
阿新 • • 發佈:2019-02-03
建立雙向佇列
>>> import collections
>>> d = collections.deque()
append(往右邊新增一個元素)
>>> d.append(1)
>>> d.append(2)
>>> d
deque([1, 2])
appendleft(往左邊新增一個元素)
>>> d.appendleft(3)
>>> d
deque([3, 1, 2])
clear(清空佇列)
>>> d
deque ([3, 1, 2])
>>> d.clear()
>>> d
deque([])
copy(淺拷貝)
>>> d.append(1)
>>> d.append(2)
>>> d
deque([1, 2])
>>> d1 = d.copy()
>>> d1
deque([1, 2])
count(返回指定元素的出現次數)
>>> d.append(1)
>>> d
deque([1, 2, 1])
>>> d.count(1)
2
extend(從佇列右邊擴充套件一個列表的元素)
>>> d.clear()
>>> d.append(1)
>>> d.extend([3,4,5])
>>> d
deque([1, 3, 4, 5])
extendleft(從佇列左邊擴充套件一個列表的元素)
>>> d.clear()
>>> d.append(1)
>>> 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 "<stdin>", line 1, in <module>
ValueError: 'c' is not 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'])