Python中的FIFO队列和LIFO队列的区别
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队列则按照“后进先出”的原则输出数据。
相关文章