天天看点

Python——deque

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())
>>> q
deque([, , , , , , , , , ])
>>> 
           

队列追加元素:

>>> q.append()
>>> q
deque([, , , , , , , , , , ])
>>> q.appendleft(-)
>>> q
deque([-, , , , , , , , , , , ])
>>> 
           

队列出队操作:

>>> q.pop()

>>> q
deque([-, , , , , , , , , , ])
>>> q.popleft()
-
>>> q
deque([, , , , , , , , , ])
>>> 
           

移动队列元素:

>>> q
deque([, , , , , , , , , ])
>>> q.rotate()
>>> q
deque([, , , , , , , , , ])
>>> q.rotate()
>>> q
deque([, , , , , , , , , ])
>>> q.rotate(-)
>>> q
deque([, , , , , , , , , ])
>>> 
           

注:rotate(n)默认情况下是将队尾的一个元素移到队首,若n大于0,则是将队尾的n个元素移到队首,若n小于0,则是将队首的n个元素移动到对尾

获取队列元素下标:

>>> q.append(-)
>>> q
deque([, , , , , , , , , , -])
>>> q.index(-)

>>>