【发布时间】:2017-09-14 16:11:37
【问题描述】:
我有这个代码:
q = PriorityQueue()
a = ((1, 1), 10, 0)
q.put(a)
newTuple = ((1,1), 8, 0)
res = any(newTuple[0] in item for item in q.queue) #res = true
目前,我正在检查priorityQueue 中的任何元组中是否存在newTuple[0](即(1,1))。 我想更改代码,以便它检查 newTuple[0] 是否在队列中,如果确实是(因此与某些元组“a”相关联),则将队列中的这个元组“a”替换为如果 newTuple[1](即 8)小于 a[1](即 10),则为 newTuple。
这可能吗?
【问题讨论】:
-
如果你要对我投反对票,你能告诉我如何改进吗?
-
据我所知
PriorityQueue是环绕heapq,当然你可以改变q.queue,但你需要重新堆放它。为什么不直接使用heapq?
标签: python queue tuples priority-queue