【发布时间】:2018-01-12 21:44:17
【问题描述】:
有没有办法为每个优先级获取优先级队列的 .size() ?
假设我有一个对象,我将把它放入优先级队列中,优先级基于 some_variable 的状态...
q = PriorityQueue()
if some_variable:
q.put((1, my_object))
else:
q.put((2, my_object))
然后我可以通过询问某种 .qsize() 方法来找出答案,例如可能是...的变体
q.qsize()
但不是队列的总大小,我想知道两个单独的“组”/优先级中的每一个的大小(qsize where priority==1,qsize where priority==2),在这个案例。
而不仅仅是总的 q.qsize()?希望这是有道理的。
【问题讨论】:
-
我认为您没有正确使用队列。你想
q.put((1, my_object)),而不是q.put(1, my_object)。一个项目应该是优先级和实际有效负载的元组。另外,q.qsize()方法也不可靠。 -
sry 我转录的代码没有额外的一组括号组成元组 - 你是对的 - (修复......)
标签: python python-3.x queue priority-queue