Предположим, что экземпляры моего ClassA окажутся в структуре данных, и мы знаем, что на ней будет вызываться sorted(). Это чужой код, который вызовет sorted(), поэтому я не могу указать функцию сортировки, но я могу реализовать любые методы, подходящие для ClassA.Можно ли просто реализовать __lt__ для класса, который будет отсортирован?
Мне кажется, что
def __lt__(self, other):
достаточно, и что мне не нужно выполнять другие пять или около методов (кварты, эк, ль, Г, п).
Этого достаточно?
Спасибо, это прекрасно! –
Сортировка Python * * документирована как использующая только '__lt __()', только для записи, но проверка на будущее - это хорошо. Я не знал об этом! – kindall
@kindall Получил ли вы это от моего руководства по сортировке? Просьба предоставить ссылку, чтобы я мог редактировать документы, чтобы быть более четкими, чтобы не полагаться на \ _ \ _ lt \ _ \ _. –