Сортировка списков Python на месте: методы и примеры

Чтобы отсортировать список на месте в Python, то есть изменить исходный список без создания нового отсортированного списка, вы можете использовать различные методы. Вот несколько часто используемых подходов:

  1. Метод list.sort(): этот метод сортирует список на месте. Он изменяет исходный список и не возвращает новый список. Например:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort()
print(my_list)  # Output: [1, 1, 2, 3, 4, 5, 5, 6, 9]
  1. Функция sorted()с присваиванием. Вы можете использовать функцию sorted()для сортировки списка и присвоения отсортированного результата обратно исходному списку. Например:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list = sorted(my_list)
print(my_list)  # Output: [1, 1, 2, 3, 4, 5, 5, 6, 9]
  1. Метод list.sort()с настраиваемым ключом: вы можете использовать параметр keyв методе list.sort()чтобы указать собственный критерий сортировки. Например, чтобы отсортировать список строк по их длине:
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=len)
print(my_list)  # Output: ['date', 'apple', 'cherry', 'banana']
  1. Метод list.sort()с настраиваемой функцией сравнения. Вы можете использовать параметр keyс лямбда-функцией или настраиваемой функцией сравнения, чтобы определить конкретную сортировку. заказ. Например, чтобы отсортировать список строк в обратном алфавитном порядке:
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=lambda x: x[::-1])
print(my_list)  # Output: ['date', 'cherry', 'banana', 'apple']
  1. Метод list.sort()с параметром reverse: вы можете использовать параметр reverse=Trueв списке .sort()для сортировки списка в порядке убывания. Например:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort(reverse=True)
print(my_list)  # Output: [9, 6, 5, 5, 4, 3, 2, 1, 1]