每个人都说如果你将元组推入heapq
,它将把第一个参数作为比较因素。
但事实并非如此!我很好奇我的代码有什么问题?
for task_name, counter in tasks_counter.items():
heappush(tasks_q, (-int(counter), task_name, counter))
heapify(tasks_q)
while tasks_q:
print(tasks_q.pop())
输出
(-1, 'G', 1)
(-1, 'F', 1)
(-1, 'E', 1)
(-1, 'D', 1)
(-1, 'C', 1)
(-1, 'B', 1)
(-6, 'A', 6)
我想我应该先拿到有价值的物品A
,对吧?但事实并非如此。
在 Python 中使用内置优先级队列的任何替代解决方案?