Python3 queue队列模块详细介绍
Python3中的queue模块是一个用于实现队列数据结构的标准库模块,它提供了多种不同类型的队列以及存储、获取和删除队列元素的方法。下面我们会详细介绍几个主要的类及对应方法。
1. queue模块的主要类
1.1 queue.Queue
queue.Queue
是最常用的队列类型。可以通过 put()
和 get()
方法向队列中添加和取出元素。
1.1.1 队列初始化
import queue
q = queue.Queue(maxsize=10)
在上面的代码中,首先我们需要引入queue模块。然后我们创建了一个Queue
对象 q
,并且指定了可存储元素的最大数量为10。如果不指定 maxsize,就表示队列可以无限增长。
1.1.2 加入队列
q.put("hello")
运行这行代码,我们可以将字符串 "hello"
加入队列中。
1.1.3 弹出队列
q.get()
运行这行代码,我们可以从队列中弹出一个元素。
1.2 queue.LifoQueue
queue.LifoQueue
类是后进先出(LIFO)的队列,使用方法与queue.Queue
类似。
import queue
q = queue.LifoQueue(maxsize=3)
q.put("one")
q.put("two")
q.put("three")
q.put("four") # 长度为3,因此此处会引入队列满的Exception
print(q.get())
print(q.get())
print(q.get())
运行这个程序,我们可以看到队列的最终状态为:
three
two
one
1.3 queue.PriorityQueue
queue.PriorityQueue
类是带有优先级的队列。默认情况下,元素取出的顺序是按元素的优先级从最小到最大。put()
方法可以接受一个优先级参数,来将元素插入到适当的位置。
import queue
q = queue.PriorityQueue()
q.put((3, "hello"))
q.put((1, "world"))
q.put((2, "python"))
while not q.empty():
print(q.get())
运行这个程序,我们可以看到队列的最终状态为:
(1, 'world')
(2, 'python')
(3, 'hello')
2. 总结
在Python3中,queue模块是一个十分实用的模块,提供了多种不同的队列类型,方便我们根据实际情况灵活选择。queue模块的使用也是非常简单和直接的,只需要创建一个对应类型的队列对象,即可使用其提供的相关方法。无论是在数据处理还是工程实现中,这个模块的使用都是非常频繁的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3 queue队列模块详细介绍 - Python技术站