python如何在自定义类上使用堆排序

2023-12-14 15:26:29网络知识悟空

python如何在自定义类上使用堆排序

1、说明

我们留给自定义类的唯一解决方案是实际重写比较运算符。遗憾的是,这使我们局限于对每个类只能进行一种比较。在我们的示例中,我们被局限于按年份对Movie对象进行排序。

但是,它确实让我们演示了在自定义类上使用堆排序。我们来定义Movie类:

2、实例

fromheapqimportheappop,heappush

classMovie:

def__init__(self,title,year):

self.title=title

self.year=year

def__str__(self):

returnstr.format("Title:{},Year:{}",self.title,self.year)

def__lt__(self,other):

returnself.year

def__gt__(self,other):

returnother.__lt__(self)

def__eq__(self,other):

returnself.year==other.year

def__ne__(self,other):

returnnotself.__eq__(other)

以上就是python在自定义类上使用堆排序的方法,希望能对大家有所帮助。更多Python学习教程请关注IT培训机构:筋斗云。

发表评论: