deque 是一个低级别、高度优化的双端队列。类似于序列的数据类型,被设计为堆栈和队列的一般化,它们在数据结构的两端支持高效的内存和快速的追加和弹出操作。
下面是 deque 的主要特点的总结:
from collections import deque
l = [1, 2, 3, 4, 5, 6, 7]
d=deque(l)
d=deque(l, maxlen=20) # 限制长度,当新的元素加入并且这个队列已满的时候,最老的元素会自动被移除掉
# 添加数据
d.append(99)
d.appendleft(100)
# 从尾部弹出元素,返回弹出的这个元素
p = d.pop()
# 从左侧弹出元素
pl = d.popleft()
# 统计某个元素的个数,返回个数
c = d.count(3)
# 合并,extend(value), value的值可以是deque对象也可以是可迭代的对象,字符串,列表,元组等等
d.extend('789')
d.extendleft('456')
# 获取值的索引,index(value,start=None,end=None)
d.index(3)
d.index(3, 5)
d.index(3, 5, 8)
# 插入元素
d.insert(0, '1')
# 移除元素
d.remove('1')
# 清空队列
d.clear()
# 深拷贝
d.copy()