Помогите с сортировкой в обратном порядке
Есть список элементов, который нужно отсортировать по последнему значению (Max Korn 98 - по числу в конце):
dogs = ['Cormen Alex 92',' Knuth Donald 98', 'ssad aospdopasd 99', 'Max Korn 98']
dogs = sorted(dogs, key=lambda points: points[-1])
dogs.reverse()
print(dogs)
Вот в такой комбинации вместо:
['ssad aospdopasd 99', ' Knuth Donald 98', ' Max Korn 98', 'Cormen Alex 92']
выдается:
['ssad aospdopasd 99', 'Max Korn 98', ' Knuth Donald 98', 'Cormen Alex 92']
То есть, Max и Knuth поменялись местами. Мне нужно сортировать по убыванию числовых значений.
Просто добавить reverse=True не подойдет, тогда значения с одинаковыми баллами поменяются местами, чего бы мне не хотелось.
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
Вам надо разделить строку по пробелам и преобразовать в число последний элемент результата
print(sorted(lst, key=lambda x: -int(x.split()[-1])))