如文档中的一个基本示例所示,始终可以使用元组,以便将第一个元素作为优先级键进行比较。但是,如果相关数据不可比怎么办?解决这个问题的优雅方法是什么?
例如,
import heapq
h = [(3, 2), (4, 3)]
heapq.heapify(h)
heapq.heappush(h, (3, (0, 1)))
这发出
TypeError: unorderable types: tuple() < int()
如文档中的一个基本示例所示,始终可以使用元组,以便将第一个元素作为优先级键进行比较。但是,如果相关数据不可比怎么办?解决这个问题的优雅方法是什么?
例如,
import heapq
h = [(3, 2), (4, 3)]
heapq.heapify(h)
heapq.heappush(h, (3, (0, 1)))
这发出
TypeError: unorderable types: tuple() < int()