详解Python 队列(先进先出)

  • Post category:Python

Python中的队列是一种先进先出(FIFO)的数据结构。在Python中有两种队列可以使用:queue和collections.deque。

使用queue模块实现先进先出队列

queue模块提供了一个先进先出的队列。可以通过以下步骤使用queue模块实现队列:

1.导入queue模块。

import queue

2.创建一个队列对象。

q = queue.Queue(maxsize = 10)

3.将元素添加到队列中。

q.put(10)
q.put(20)
q.put(30)

4.从队列中删除元素。

q.get()

完整示例:

import queue

q = queue.Queue(maxsize = 10)

# 添加元素
q.put(10)
q.put(20)
q.put(30)

# 删除元素
print(q.get()) # 10
print(q.get()) # 20

使用collections模块的deque实现队列

collections模块提供了一个双端队列(deque)。双端队列可以在队列的两端添加和删除元素。可以通过以下步骤使用deque模块实现队列:

1.导入collections模块。

from collections import deque

2.创建一个deque对象。

q = deque(maxlen = 10)

3.将元素添加到队列中。

q.append(10)
q.append(20)
q.append(30)

4.从队列中删除元素。

q.popleft()

完整示例:

from collections import deque

q = deque(maxlen = 10)

# 添加元素
q.append(10)
q.append(20)
q.append(30)

# 删除元素
print(q.popleft()) # 10
print(q.popleft()) # 20

以上是两种常用的Python队列实现方法,可以根据适用场景选择合适的方式使用。