В Python есть два основных способа сортировки списка:
list.sort(): Сортирует список на месте (изменяет исходный список).  my_list.sort()sorted(list): Возвращает новый отсортированный список, не изменяя исходный. new_list = sorted(my_list)Оба метода по умолчанию сортируют по возрастанию.  Для сортировки по убыванию, используйте reverse=True: my_list.sort(reverse=True) или sorted(my_list, reverse=True)
Существует несколько способов отсортировать список в Python:
1. Метод .sort() (сортировка на месте):
Этот метод сортирует список непосредственно, изменяя его исходный порядок.  Он не возвращает новый список, а возвращает None.  Это наиболее эффективный способ сортировки, если вам не нужно сохранять исходный список.
my_list = [3, 1, 4, 1, 5, 9, 2, 6]
my_list.sort()  # Сортирует список my_list
print(my_list)  # Вывод: [1, 1, 2, 3, 4, 5, 6, 9]
my_list.sort(reverse=True) # Сортировка в обратном порядке
print(my_list)  # Вывод: [9, 6, 5, 4, 3, 2, 1, 1]
    Ключевые аргументы sort():
key: Функция, принимающая элемент списка в качестве аргумента и возвращающая значение, используемое для сравнения при сортировке.  Например, можно сортировать список строк по их длине: my_list.sort(key=len)reverse:  Булево значение, указывающее, сортировать ли в обратном порядке (True) или в прямом порядке (False, по умолчанию).2. Функция sorted() (создание нового списка):
Эта функция создает новый отсортированный список, не изменяя исходный. Она возвращает новый отсортированный список.
my_list = [3, 1, 4, 1, 5, 9, 2, 6]
new_list = sorted(my_list)  # Создает новый отсортированный список
print(my_list)  # Вывод: [3, 1, 4, 1, 5, 9, 2, 6] (исходный список не изменен)
print(new_list) # Вывод: [1, 1, 2, 3, 4, 5, 6, 9]
new_list_reverse = sorted(my_list, reverse=True)
print(new_list_reverse) # Вывод: [9, 6, 5, 4, 3, 2, 1, 1]
    Функция sorted() принимает те же ключевые аргументы key и reverse, что и метод .sort().
Какой способ выбрать?
.sort(), так как это более эффективно с точки зрения использования памяти.sorted().Примеры использования аргумента key:
# Сортировка списка строк по длине
strings = ["apple", "banana", "kiwi", "orange"]
strings.sort(key=len)
print(strings)  # Вывод: ['kiwi', 'apple', 'banana', 'orange']
# Сортировка списка кортежей по второму элементу
tuples = [(1, 'z'), (2, 'a'), (3, 'b')]
tuples.sort(key=lambda x: x[1]) # Сортировка по второму элементу кортежа
print(tuples) # Вывод: [(2, 'a'), (3, 'b'), (1, 'z')]