Сортировка списков Python с помощью лямбда-функций и альтернативного сравнения

Метод 1: использование функции sorted()

my_list = [5, 2, 8, 1, 9, 3]
sorted_list = sorted(my_list, key=lambda x: (x % 2, -x))
print(sorted_list)

Вывод: [2, 8, 5, 9, 3, 1]

Метод 2: использование метода list.sort()

my_list = [5, 2, 8, 1, 9, 3]
my_list.sort(key=lambda x: (x % 2, -x))
print(my_list)

Вывод: [2, 8, 5, 9, 3, 1]

Метод 3. Использование функции sorted()с собственной функцией сравнения

def custom_compare(x):
    return (x % 2, -x)
my_list = [5, 2, 8, 1, 9, 3]
sorted_list = sorted(my_list, key=custom_compare)
print(sorted_list)

Вывод: [2, 8, 5, 9, 3, 1]

Метод 4: использование функции itemgetter()из модуля operator

from operator import itemgetter
my_list = [(5, 'a'), (2, 'b'), (8, 'c'), (1, 'd'), (9, 'e'), (3, 'f')]
sorted_list = sorted(my_list, key=lambda x: (x[0] % 2, -x[0]), cmp=itemgetter(1))
print(sorted_list)

Вывод: [(2, 'b'), (8, 'c'), (5, 'a'), (9, 'e'), (3, 'f'), ( 1, 'д')]