Возможный дубликат:
Как написать функции сортировки ключей Python для нисходящих значений
В Python 3 довольно легко отсортировать список объектов лексикографически, используя несколько ключей. Например:
items.sort(key = lambda obj: obj.firstname, obj.lastname)
Аргумент reverse позволяет указать, хотите ли вы восходящий или нисходящий порядок. Но что вы делаете в случае, когда хотите сортировать по нескольким клавишам, но хотите сортировать, используя порядок убывания для первого ключа, и порядок возрастания для второго?
Например, предположим, что у нас есть объект с двумя атрибутами points и name, где points - int, а name - str. Мы хотим отсортировать список этих объектов с помощью points в порядке убывания (так, чтобы сначала был объект с наибольшим числом точек), но для объектов с равным числом points мы хотим отсортировать их по name в алфавитном порядке (по возрастанию).
Как это можно достичь?