Python中的FIFO队列和LIFO队列的区别

2023-04-11 00:00:00 python 队列 区别

Python中的FIFO(First In First Out)队列和LIFO(Last In First Out)队列都是队列的实现方式,主要的区别在于数据访问的顺序。

FIFO队列实现的是先进先出的访问方式,也就是优先处理最先添加到队列中的数据。它类似于排队,新来的人排在最后,等前面的人都处理完毕后才轮到他。

LIFO队列实现的是后进先出的访问方式,也就是优先处理最后添加到队列中的数据。它类似于一叠盘子,最后放上去的盘子最先拿下来。

下面是FIFO队列的实现代码:

import queue

fifo_queue = queue.Queue()

# 添加数据到队列中
fifo_queue.put("pidan")
fifo_queue.put("code")
fifo_queue.put("com")

# 从队列中取出数据
while not fifo_queue.empty():
    data = fifo_queue.get()
    print(data)

执行结果:

pidan
code
com

下面是LIFO队列的实现代码:

import queue

lifo_queue = queue.LifoQueue()

# 添加数据到队列中
lifo_queue.put("pidan")
lifo_queue.put("code")
lifo_queue.put("com")

# 从队列中取出数据
while not lifo_queue.empty():
    data = lifo_queue.get()
    print(data)

执行结果:

com
code
pidan

可以看出,FIFO队列输出的数据按照“先进先出”的原则,而LIFO队列则按照“后进先出”的原则输出数据。

相关文章