您当前的位置: 首页 >  Python

RuiH.AI

暂无认证

  • 6浏览

    0关注

    274博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python学习: 队列Queue

RuiH.AI 发布时间:2021-09-17 21:32:02 ,浏览量:6

Python学习: 队列Queue
  • 队列
  • python中的queue类
    • FIFO队列
    • LIFO队列
    • PriorityQueue队列
    • 常用类方法

队列

队列,对应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
关注
打赏
1658651101
查看更多评论
立即登录/注册

微信扫码登录

0.1741s