python3学习-Queue模块

来源:互联网 发布:js中display的值 编辑:程序博客网 时间:2024/06/08 10:02

python标准库中带有一个Queue模块,顾名思义,队列。该模块也衍生出一些基本队列不具有的功能。

我们先看一下队列的方法:

put 存数据 get 取数据 empty 判断队列是否为空 qsize 显示队列中真实存在的元素长度 maxsize 最大支持队列长度 join 等到队列为空,该行语句下面的语句才会执行 full 检查队列是否已满

单向队列

import queueq = queue.Queue(5)print(q.maxsize)q.put(343)q.put(23)q.put(432)print(q.get())q.put(44)q.put(35)q.put(235)print(q.full())  #判断队列当前大小是否等于约定队列大小print(q.qsize())

先进后出队列

q = queue.LifoQueue(5)q.put(343)q.put(23)q.put(432)print(q.get())

优先级队列

优先级队列put进去的是一个元祖,(优先级,数据),优先级数字越小,优先级越高

q = queue.PriorityQueue(5)q.put((5, 5454))q.put((5, 532566))q.put((3, 555))q.put((7, 344))print(q.get())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()) #出队是尾部先出
原创粉丝点击