Python自带队列模块Queue的使用(3)

PriorityQueue:优先队列

导入模块

from queue import PriorityQueue

查看源码可以知道PriorityQueue是继承Queue的,基本的东西就不再赘述了,不清楚可以查看队列的使用1和2

优先队列的使用

from queue import PriorityQueue

pq = PriorityQueue()
pq.put(20)
pq.put(10)
pq.put(30)
print(pq.get())
print(pq.get())
print(pq.get())
结果:   10
        20
        30

可以看出,优先队列的出队列是按照从小到大的,那么可能有人会问有没有从大到小的队列?

查看源码发现了这句话

Variant of Queue that retrieves open entries in priority order (lowest first).

Entries are typically tuples of the form:  (priority number, data).

优先级是根据元组的(优先级号,数据),这样就好办了

from queue import PriorityQueue

pq = PriorityQueue()

pq.put((-3,3))
pq.put((-2,2))
pq.put((-1,1))

print(pq.get()[1])
print(pq.get()[1])
print(pq.get()[1])

结果:3
     2
     1

可以通过元组的方式,设置数据的优先级

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值