python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python队列Queue

Python队列Queue实现详解

作者:小白地瓜

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

您可能感兴趣的文章:
阅读全文