#python #python-3.x
#python #python-3.x
Вопрос:
Я делаю leetcode (https://leetcode.com/problems/lar&est-number /) и я нашел решение в leetcode следующим образом :
class Lar&erNumKey(str):
def __lt__(x, y):
return x y &&t; y x
class Solution:
def lar&estNumber(self, nums: List[int]) -&&t; str:
lar&est_num = ''.join(sorted(map(str, nums), key=Lar&erNumKey))
return '0' if lar&est_num[0] == '0' else lar&est_num
Я не уверен, почему здесь она переопределяет __lt__
в Lar&erNumKey . Почему бы не переопределить __&t__
?
И почему условие в __lt__
используется x y &&t; y x
?
Комментарии:
1. Убедитесь, что ваши вопросы являются автономными. И почему это условие в
__lt__
используетсяx y &&t; y x
?,,, в настоящее время невозможно ответить, не ссылаясь на вопрос leetcode или не угадывая его содержимое.
Ответ №1:
Я не уверен, почему здесь она переопределяет
__lt__
в Lar&erNumKey . Почему бы не переопределить__&t__
?
согласно документам sorted
, использует __lt__
для сортировки,
Процедуры сортировки гарантированно используются
__lt__()
при проведении сравнений между двумя объектами.