0

我有以下代码:

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

我不明白,也没有找到任何方法来指定自定义比较器来做我想做的事,这甚至可能吗?

4

0 回答 0