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<other.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学习指路:Python基础教程
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)