【发布时间】:2015-03-25 12:45:25
【问题描述】:
我在 python 中创建了一个简单的优先级队列,它按项目的值排序:
import Queue
q = Queue.PriorityQueue()
for it in items:
q.put((it.value, it))
但是当我使用以下方式打印队列时:
while not q.empty()
print q.get()
它总是首先打印最低值。有没有办法在不将代码顶部的最后两行更改为:
for it in items:
q.put((-1*it.value, it))
因为如果我想将该信息用于其他用途,这似乎有点混乱并且会产生问题(我必须再次将它乘以 -1)
【问题讨论】:
标签: python queue priority-queue