我有以下代码:
priority_queue = PriorityQueue(maxsize=6)
for score1, score2, score3, value in huge_generator():
priority_queue.put((score1, score2, score3, value))
while pqueue:
print(pqueue.get())
假设 huge_generator() 定义如下(当然,它的实际实现不允许将其内容一次全部保存在内存中):
def huge_generator():
yield 2, 1, 1
yield 1, 1, 1
yield 1, 2, 3
yield 2, 4, 1
yield 1, 2, 2
yield 2, 4, 2
我的代码返回这个,到目前为止一切顺利:
1, 1, 1
1, 2, 2
1, 2, 3
2, 1, 1
2, 4, 1
2, 4, 2
现在我想将顺序自定义为升序、降序、降序。IE,
1,2,3
1,2,2
1,1,1
2,4,2
2,4,1
2,1,1
我不明白,也没有找到任何方法来指定自定义比较器来做我想做的事,这甚至可能吗?