双端队列
在需要按添加元素的顺序进行删除时,双端队列很有用。在模块collections中,包含类型deque以及其他几个集合(collection)类型。
与集合(set)一样,双端队列也是从可迭代对象创建的,它包含多个很有用的方法。
- A=deque([]) #创建一个空的双队列
- A.append(n) #从右边像队列中增加元素 ,n表示增加的元素
- A.appendleft(n) #从左边像队列中增加元素,n表示增加的元素
- A.clear() #清空队列
- A.count(n) #在队列中统计元素的个数,n表示统计的元素
- A.extend(n) #从右边扩展队列,n表示扩展的队列
- A.extendleft(n) #从左边扩展队列,n表示扩展的队列
- A.pop() #从队列的右边删除元素,并且返回删除值
- A.popleft() #从队列的左边删除元素,并且返回删除值
- A.remove(n) #从队列中删除指定的值‘
- A.reverse() #翻转队列
- A.rotate(n) #旋转队列,默认时值为1,由右边开始旋转,负值代表左边旋转,n代表从队列的第一个元素开始,n从1开始计数
例:
>>> from collections import deque
>>> q = deque(range(5)) #设置deque队列容器只能容纳5个元素
>>> q.append(5)
>>> q.appendleft(6)
&g