python如何在自定義類上使用堆排序
1、說明
我們留給自定義類的唯一解決方案是實(shí)際重寫比較運(yùn)算符。遺憾的是,這使我們局限于對(duì)每個(gè)類只能進(jìn)行一種比較。在我們的示例中,我們被局限于按年份對(duì)Movie對(duì)象進(jìn)行排序。
但是,它確實(shí)讓我們演示了在自定義類上使用堆排序。我們來定義Movie類:
2、實(shí)例
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在自定義類上使用堆排序的方法,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。