Python Queue组件用处是什么,怎么使用
导读:这篇文章给大家分享的是“Python Queue组件用处是什么,怎么使用”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“Python Queue组件用处是什么,怎么使用”吧。...
这篇文章给大家分享的是“Python Queue组件用处是什么,怎么使用”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“Python Queue组件用处是什么,怎么使用”吧。简述
队列一直都是工程化开发中经常使用的数据类型,本篇文章主要介绍一下python queue的使用,会边调试代码,边说明方法内容。
环境
python: 3.6.13
单向队列
初始化单向队列
放置一些数据
可以使用full()方法判断队列是否已经塞满数据,可以通过qsize()方法查看队列内元素数量。
这时候我们从队列取出数据,看先取到的是什么。
现在队列里面只有两个数,我们再塞入3个数看一下。
这个时候我们继续塞入第六个数会怎么样呢?
可以看到如果塞入超过队列限定数量的元素,会阻塞住队列。所以在一般的项目工程中,我们会分成两个线程,一个消费数据,一个塞入队列数据。按照业务需求看是否需要限定队列长度。
先进后出队列
上面展示的是先进先出(FIFO)的单项队列,python的queue模块也提供先进后出(LIFO)的队列: LifoQueue,类似java的栈类型。
塞入数据后看取出的是在队列的什么位置。
可以看出从队列取出的是队尾数据。
优先级队列
按照自定的优先级来对队列数据自动排序:PriorityQueue。
塞入数据后,全部取出,打印看一下顺序是什么样的。
可以看出,书序是按照我们塞入数据的级别由小到大排序的。
双向队列
双向队列,顾名思义就是可以从队列两端进行处理: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())
感谢各位的阅读,以上就是“Python Queue组件用处是什么,怎么使用”的内容了,通过以上内容的阐述,相信大家对Python Queue组件用处是什么,怎么使用已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Python Queue组件用处是什么,怎么使用
本文地址: https://pptw.com/jishu/650605.html