队列 先进先出,先进后出,优先级队列

import queue

#先进先出

q = queue.Queue(3)#设置队列容量

q.put(1)

q.put(a)

print('查看当前队列的容量',q.qsize)

q.put(b)

print('查看当前容器是否满了',q.full())#满了返回TRUE 没满返回flase

 

print(q.get_nowait())#从容器中拿一个值.拿到了打印,如果没拿到容器是空的会报错,nowait 不等待的意思

q.put_nowait(1)#向容器中存一个值,如果容器满了无法存入会报错

 

二.先进后出队列,后进先出 类似于栈

q = queue.LifoQueue(3)#指定容量为3

q.put(1)

q.put(2)

q.put(3)

print(q.get())

print(q.get())

print(q.get())

打印结果是 3  2   1  先进后出

三.优先级队列:可以指定元素的优先级  -3 >-2 > 1  负数优先级高于正数,

假如两个元素优先级相同,如果元素是数字大小, 数字小的优先

如果是字符串则比较ASCII码,

,注意:必须以元组的形式去添加

q = queue.PriorityQueue(5)

q.put((1,2))

q.put((1,22))

print(q.get())

print(q.get())

打印结果  (1,2)     (1,22)#会连同优先级一起打印出来

 

posted @ 2019-01-14 19:48  充电宝宝  阅读(2166)  评论(0编辑  收藏  举报