heapq: Какой элегантный способ использовать настроенный ключ приоритета со связанными данными, которые не сопоставимы? - PullRequest
0 голосов
/ 14 сентября 2018

Как показано в базовом примере в документе , всегда можно использовать кортеж, чтобы первый элемент сравнивался как ключ приоритета. Однако что, если связанные данные не сопоставимы? Что бы элегантно решить эту проблему?

Например,

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

Это излучает

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