deque 介绍
Python中的collentions中有一个deque,这个对象类似于list列表,但是使用list存储数据是,按索引访问元素很快,但是插入和删除就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。
但是deque是为了实现插入和删除操作的双向列表,适用于队列和栈:
from collection import deque
q = deque([]) # 使用deque 必须是可迭代对象
dq = deque(range(10), maxlen=10) # 可以通过maxlen指定队列长度
添加元素
deque是通过extend方法初始化集合元素,同时可以通过extendleft/appendleft将结合元素从左边加到集合。
- extend
- append
- extendleft
- appendleft
弹出元素
- pop
- popleft
线程
deque是线程安全的,也就是说你可以同时从deque集合的左边和右边进行操作而不会有影响