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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python [:3] 实现提取数组中的数

    python [:3] 实现提取数组中的数

    今天小编就为大家分享一篇python [:3] 实现提取数组中的数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Django  ORM 练习题及答案

    Django ORM 练习题及答案

    这篇文章主要介绍了Django ORM 练习题及答案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 使用Python进行同期群分析(Cohort Analysis)

    使用Python进行同期群分析(Cohort Analysis)

    同期群(Cohort)的字面意思(有共同特点或举止类同的)一群人,比如不同性别,不同年龄。这篇文章主要介绍了用Python语言来进行同期群分析,感兴趣的同学可以阅读参考一下本文
    2023-03-03
  • 对python特殊函数 __call__()的使用详解

    对python特殊函数 __call__()的使用详解

    今天小编就为大家分享一篇对python特殊函数 __call__()的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python获取文件真实链接的方法,针对于302返回码

    python获取文件真实链接的方法,针对于302返回码

    今天小编就为大家分享一篇python获取文件真实链接的方法,针对于302返回码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python实现字母闪烁效果的示例代码

    python实现字母闪烁效果的示例代码

    本文主要介绍了python实现字母闪烁效果的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Python使用Chardet库检测字符编码的操作详解

    Python使用Chardet库检测字符编码的操作详解

    在处理文本数据时,字符编码问题是一个常见的挑战,如果编码不正确,可能会导致乱码问题,而 Chardet 是 Python 中非常实用的一个库,可以帮助我们快速检测文件或字符串的编码格式,本文给大家详细介绍了Python Chardet 库用法,需要的朋友可以参考下
    2025-01-01
  • python scrapy脚本报错问题及解决

    python scrapy脚本报错问题及解决

    这篇文章主要介绍了python scrapy脚本报错问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python中使用pprint函数进行格式化输出的教程

    Python中使用pprint函数进行格式化输出的教程

    这篇文章主要介绍了Python中使用pprint函数进行格式化输出的教程,包括能够控制输出宽度等非常有用的特性,需要的朋友可以参考下
    2015-04-04
  • python处理写入数据代码讲解

    python处理写入数据代码讲解

    在本篇文章里小编给大家整理的是一篇关于python处理写入数据代码讲解内容,有兴趣的朋友们可以学习下。
    2020-10-10

最新评论