Python 队列 queue

队列

  • 队列:先进先出
import queue
q = queue.Queue()# 可以输入int参数指定队列大小
q.put(1)# 进队列
q.put(2)
q.put(3)
# print(q.put_nowait()) # 不检测队列是否已满,满则报错
print("qsize:{}".format(q.qsize()))# 取队列当前队列长度
print(q.get())# 出队列
print(q.get())
print(q.get())
print("qsize:{}".format(q.qsize()))
#print(q.get())# 没有下一个值得时候阻塞
# print(q.get_nowait())# 不检测队列是否为空,为空则报错

结果

qsize:3
1
2
3
qsize:0

  • 先进后出
import queue
q = queue.LifoQueue()# 栈
q.put(1)
q.put(2)
q.put(3)
print(q.get())
print(q.get())
print(q.get())

结果

3
2
1

优先级队列

  • 根据指定的优先级来输出
  • 优先级别数字越小优先级别越高,可以为负
import queue
q = queue.PriorityQueue()# 优先级队列
q.put((10,1))# 参数为元组类型,元组中的第一个值为优先级别
q.put((5,2))
q.put((15,3))
print(q.get())
print(q.get())
print(q.get())

结果

(5, 2)
(10, 1)
(15, 3)
原文地址:https://www.cnblogs.com/changjiangwei/p/11869034.html