heapq с пользовательским предикатом сравнения

Я пытаюсь создать кучу с пользовательским предикатом сортировки. Поскольку значения, попадающие в нее, имеют тип 'user-defined', я не могу изменить их встроенный предикат сравнения.

Есть ли способ сделать что-то вроде:

h = heapq.heapify([...], key=my_lt_pred)
h = heapq.heappush(h, key=my_lt_pred)

Или еще лучше, я мог бы обернуть функции heapq в свой собственный контейнер, чтобы мне не нужно было передавать предикат.

59
задан martineau 23 September 2016 в 04:33
поделиться