Какие методы сравнения достаточно перегрузить в python чтобы можно было сортировать объекты собственного класса
у меня есть пользовательский класс и его нужно сортировать по специфичному признаку (от признака можно абстрагироваться), какие методы сравнения мне достаточно перегрузить чтобы сортировка работала правильно? потому что мне кажется что все методы перегружать избыточно
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
Нужно переопредилить метод __lt__ либо __gt__
class my1:
def __lt__(self, other):
print("__lt__")
return True
class my2:
def __gt__(self, other):
print("__gt__")
return True
sorted([my1(), my1()])
sorted([my2(), my2()])
Если переопредилить оба то будет использовать только __lt__
class my:
def __lt__(self, other):
print("__lt__")
return True
def __gt__(self, other):
print("__gt__")
return True
sorted([my(), my()])