Python队列

目录

一、核心作用

二、Python四种类型的队例

三、代码使用示例


一、核心作用

解耦:使程序直接实现松耦合,修改一个函数,不会有串联关系。

提高处理效率:FIFO=现进先出,LIFO=后入先出。

二、Python四种类型的队例

Queue:FIFO,即first in first out 先进先出
LifoQueue:LIFO,即last in first out 后进先出
PriorityQueue:优先队列,级别越低,越优先
deque:双边队列

三、代码使用示例

依赖3个包:queue库中的Queue,LifoQueue,PriorityQueue

queue_demo.py

# -*- coding: UTF-8 -*-
"""
# rs
"""
import queue

# (1)Queue, 先进先出队列
# 基本FIFO队列  先进先出 FIFO即First in First Out,先进先出
# maxsize设置队列中,数据上限,小于或等于0则不限制,容器中大于这个数则阻塞,直到队列中的数据被消掉
q_fifo = queue.Queue(maxsize=0)

# 写入队列数据
q_fifo.put(0)
q_fifo.put(1)
q_fifo.put(2)

# 输出当前队列所有数据
print(q_fifo.queue)

# 删除队列数据并返回
print(q_fifo.get())
# 删除所有队列数据
print(q_fifo.queue)

# (2)LifoQueue, 后进先出队列
# LIFO即Last in First Out,后进先出。与栈的类似,使用也很简单,maxsize用法同上
q_lifo = queue.LifoQueue(maxsize=0)
q_lifo.put(0)
q_lifo.put(1)
q_lifo.put(2)

# 输出当前队列所有数据
print(q_lifo.queue)

# 删除队列数据并返回
print(q_lifo.get())
# 删除所有队列数据
print(q_lifo.queue)

# (3)PriorityQueue, 优先队列
# 优先级设置数越小等级越高
q_priority = queue.PriorityQueue(maxsize=0)
q_priority.put((9, 'a'))
q_priority.put((7, 'c'))
q_priority.put((1, 'd'))

# 输出队列全部数据
print(q_priority.queue)

# 取队列数据,可以看到,是按优先级取的
print(q_priority.get())
print(q_priority.get())
print(q_priority.queue)

输出结果:

deque([0, 1, 2])
0
deque([1, 2])
[0, 1, 2]
2
[0, 1]
[(1, 'd'), (9, 'a'), (7, 'c')]
(1, 'd')
(7, 'c')
[(9, 'a')]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rs勿忘初心

您的鼓励将是我的最大创动原动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值