首页 > 解决方案 > heapq:将自定义优先级键与不可比较的关联数据一起使用的优雅方法是什么?

问题描述

文档中的一个基本示例所示,始终可以使用元组,以便将第一个元素作为优先级键进行比较。但是,如果相关数据不可比怎么办?解决这个问题的优雅方法是什么?

例如,

import heapq
h = [(3, 2), (4, 3)]
heapq.heapify(h)
heapq.heappush(h, (3, (0, 1)))

这发出

TypeError: unorderable types: tuple() < int()

标签: pythonpriority-queueheapq

解决方案


推荐阅读