创建双向队列
>>> 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'])