deque包含在collections模块中,主要包含的方法:append、appendleft、clear、copy、count、extend、extendleft、index、insert、pop、popleft、remove、reverse、rotate等,通过help(deque)可以查看相应的使用说明。
队列的定义和使用:
>>> from collections import deque
>>> q=deque(range(10))
>>> q
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>>
队列追加元素:
>>> q.append(10)
>>> q
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> q.appendleft(-1)
>>> q
deque([-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>>
队列出队操作:
>>> q.pop()
10
>>> q
deque([-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> q.popleft()
-1
>>> q
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>>
移动队列元素:
>>> q
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> q.rotate()
>>> q
deque([9, 0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> q.rotate(2)
>>> q
deque([7, 8, 9, 0, 1, 2, 3, 4, 5, 6])
>>> q.rotate(-3)
>>> q
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>>
注:rotate(n)默认情况下是将队尾的一个元素移到队首,若n大于0,则是将队尾的n个元素移到队首,若n小于0,则是将队首的n个元素移动到对尾
获取队列元素下标:
>>> q.append(-1)
>>> q
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1])
>>> q.index(-1)
10
>>>