小編給大家分享一下python在自定義類上使用堆排序的示例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司專注于柏鄉(xiāng)企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都做商城網(wǎng)站。柏鄉(xiāng)網(wǎng)站建設(shè)公司,為柏鄉(xiāng)等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。
1、說明
我們留給自定義類的唯一解決方案是實(shí)際重寫比較運(yùn)算符。遺憾的是,這使我們局限于對(duì)每個(gè)類只能進(jìn)行一種比較。在我們的示例中,我們被局限于按年份對(duì)Movie對(duì)象進(jìn)行排序。
但是,它確實(shí)讓我們演示了在自定義類上使用堆排序。我們來定義Movie類:
2、實(shí)例
from heapq import heappop, heappush class Movie: def __init__(self, title, year): self.title = title self.year = year def __str__(self): return str.format("Title: {}, Year: {}", self.title, self.year) def __lt__(self, other): return self.year < other.year def __gt__(self, other): return other.__lt__(self) def __eq__(self, other): return self.year == other.year def __ne__(self, other): return not self.__eq__(other)
看完了這篇文章,相信你對(duì)“python在自定義類上使用堆排序的示例”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!