Помогите с сортировкой в обратном порядке

Есть список элементов, который нужно отсортировать по последнему значению (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])))
→ Ссылка