Python学习: 队列Queue
程序员文章站
2022-03-20 23:52:27
...
Python学习: 队列Queue
队列
队列,对应python中的头文件queue,是一种数据类型,与list列表、dict字典相关。
队列类型:
- FIFO先进先出队列:先进先出,类似堆
- LIFO先进后出队列:先进后出,类似栈
- Priority优先队列: 数据有优先级,值小先出
python中的queue类
FIFO队列
import queue
# python中的普通队列对应FIFO队列
myFIFO = queue.Queue()
LIFO队列
import queue
myLIFO = queue.LifoQueue()
PriorityQueue队列
import queue
myPriority = queue.PriorityQueue()
常用类方法
Queue.qsize() 队列长度
Queue.maxsize 队列最大长度(队列初始化时可用)
Queue.put() 放入一个元素
Queue.get() 获得一个元素
Queue.empty() 判断是否是空队列
Queue.full() 判断是否是满队列
# 以先进先出一般队列为例
import queue
myQueue = queue.Queue(maxsize=10)
# 如果要使队列无限长,可以设置 maxsize=0
for i in range(10):
myQueue.put(i)
# 如果myQueue队列满了,再调用非阻塞的put()和put_nowait()就会抛出Queue.Full异常
print(myQueue.qsize())
print(myQueue.full())
for i in range(10):
print(myQueue.get())
# 如果myQueue队列空了,再调用非阻塞get()和get_nowait()就会抛出Queue.Empty异常
print(myQueue.empty())
#results:
# 10
# True
# 0
# 1
# 2
# .
# .
# .
# 9
# True
上一篇: python处理fits文件
下一篇: PHPstorm最全快捷键总结