1、说明
我们留给自定义类的唯一解决方案是实际重写比较运算符。遗憾的是,这使我们局限于对每个类只能进行一种比较。在我们的示例中,我们被局限于按年份对Movie对象进行排序。
但是,它确实让我们演示了在自定义类上使用堆排序。我们来定义Movie类:
2、实例
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)
以上就是python在自定义类上使用堆排序的方法,希望能对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务