双向队列
双向队列,顾名思义就是可以从队列两端进行处理:deque。
初始化,并塞入3个数据。
从左侧,也就是最前端塞入一个元素。看下效果。
可以自定义塞入元素的位置。
取出队尾的数据。
取出队首元素。
完整代码
import queue # 单向队列 q = queue.Queue(5) print(q.maxsize) q.put(1) q.put(2) q.put(3) print(q.full()) print(q.qsize()) print(q.get()) q.put(4) q.put(5) q.put(6) q.put(7) print(q.full()) print(q.qsize()) print(q.get()) # 先进后出队列 q = queue.LifoQueue(5) q.put(1) q.put(2) q.put(3) print(q.get()) # 优先级队列 q = queue.PriorityQueue(5) q.put((5, "电")) q.put((2, "雨")) q.put((4, "雷")) q.put((1, "风")) while True: print(q.get()) # 双向队列 q = queue.deque() q.append(1) q.append(2) q.append(3) q.appendleft(4) q.insert(2, 5) print(q.pop()) print(q.popleft())
总结
在很多工程化架构中,队列数据类型是必不可少的。活学活用吧。哎,今年ti10,中国队又无缘冠军,明年加油吧。