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)