队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出
队列是一种先进先出(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')]

"""