Python队列Queue实现详解

 更新时间:2023年07月27日 10:00:29   作者:小白地瓜  
这篇文章主要介绍了Python队列Queue实现详解,队列是一种列表,队列用于存储按顺序排列的数据,队列是一种先进先出的数据结构,不同的是队列只能在队尾插入元素,在队首删除元素,需要的朋友可以参考下

队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。
队列用于存储按顺序排列的数据,先进先出 队列是一种先进先出(First-In-First-Out,FIFO)的数据结构。
队列被用在很多地方,比如提交操作系统执行的一系列进程、打印任务池等

实现方式

一:自定义队列类

class Queue:
    def __init__(self):
        self.items = []
    def push(self, value):  # 进队列
        self.items.append(value)
    def pop(self):  # 出队列
        return self.items.pop(0)
if __name__ == '__main__':
    q = Queue()
    q.push(1)
    q.push(2)
    q.push(3)
    print(q.pop())
    print(q.pop())
    print(q.pop())

二:使用python内置队列库

from queue import Queue  # LILO队列
q = Queue()  # 创建队列对象
q.put(1)    # 在队列尾部插入元素
q.put(2)
q.put(3)
print('队列内元素', q.queue)   # 查看队列中的所有元素
print(q.get())   # 返回并删除队列头部元素
print('队列内元素', q.queue)   # 查看队列中的所有元素
"""输出
队列内元素 deque([1, 2, 3])
1
队列内元素 deque([2, 3])
"""

优先队列

from queue import PriorityQueue
# 存储数据时可设置优先级的队列
# 优先级设置数越小等级越高
q = PriorityQueue(maxsize=0)
# 写入队列,设置优先级
q.put((9, 'a'))
q.put((7, 'c'))
q.put((1, 'd'))
# 输出队例全部数据
print(q.queue)
# 取队例数据,可以看到,是按优先级取的。
q.get()
print(q.queue)
"""输出
[(1, 'd'), (9, 'a'), (7, 'c')]
[(7, 'c'), (9, 'a')]
"""

到此这篇关于Python队列Queue实现详解的文章就介绍到这了,更多相关Python队列Queue内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Dialog 按照顺序弹窗的优雅写法

    Dialog 按照顺序弹窗的优雅写法

    这篇文章主要介绍了Dialog 按照顺序弹窗的写法及示例,给大家介绍了DrawType的使用方式,需要的朋友可以参考下
    2021-09-09
  • python判断数字是否是超级素数幂

    python判断数字是否是超级素数幂

    这篇文章主要为大家详细介绍了python判断数字是否是超级素数幂,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python实现树形打印目录结构

    python实现树形打印目录结构

    这篇文章主要为大家详细介绍了python树形打印目录结构的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python lambda表达式原理及用法解析

    Python lambda表达式原理及用法解析

    这篇文章主要介绍了Python lambda表达式原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 详解Python 循环嵌套

    详解Python 循环嵌套

    这篇文章主要介绍了Python 循环嵌套的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • python中如何提高图像质量

    python中如何提高图像质量

    这篇文章主要介绍了python中如何提高图像质量问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • win7 x64系统中安装Scrapy的方法

    win7 x64系统中安装Scrapy的方法

    这篇文章主要介绍了win7 x64系统中安装Scrapy的方法,图文并茂一步步的教你如何安装Scrapy,需要的朋友可以参考下
    2018-11-11
  • python基于tkinter图形化编程实现简易计算器功能

    python基于tkinter图形化编程实现简易计算器功能

    这篇文章主要为大家详细介绍了python基于tkinter图形化编程实现简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • cuda突然不能用了的完美解决方法

    cuda突然不能用了的完美解决方法

    这篇文章主要给大家介绍了关于cuda突然不能用了的完美解决方法,文中通过图文介绍的非常详细,对大家学习或者使用cuda具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • python3使用matplotlib绘制散点图

    python3使用matplotlib绘制散点图

    这篇文章主要为大家详细介绍了python3使用matplotlib绘制散点图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03

最新评论