将对象包装在反向比较包装器中:
import functools@functools.total_orderingclass ReverseCompare(object): def __init__(self, obj): self.obj = obj def __eq__(self, other): return isinstance(other, ReverseCompare) and self.obj == other.obj def __le__(self, other): return isinstance(other, ReverseCompare) and self.obj >= other.obj def __str__(self): return str(self.obj) def __repr__(self): return '%s(%r)' % (self.__class__.__name__, self.obj)
用法:
import heapqletters = 'axuebizjmf'heap = map(ReverseCompare, letters)heapq.heapify(heap)print heapq.heappop(heap) # prints z
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)