class MyHeap(object):

    def __init__(self, initial=None, key=lambda x: x):
        self.key = key
if initial:
    self._data = [(key(item), item) for item in initial]
heapq.heapify(self._data)
heapq с пользовательским предикатом сравнения