Python сортировка массива: как отсортировать элементы с помощью Python?
В Python есть несколько способов сортировки массива или списка. Рассмотрим некоторые из них:
1. Сортировка методом sorted()
Метод sorted() возвращает новый отсортированный список, не меняя исходный. Он может работать с любыми итерируемыми объектами, в том числе с массивами.
Пример:
arr = [7, 3, 9, 2, 1, 5]
sorted_arr = sorted(arr)
print(sorted_arr) # [1, 2, 3, 5, 7, 9]
2. Сортировка методом sort()
Метод sort() сортирует исходный список прямо на месте, то есть меняет его. Он также может работать с любыми итерируемыми объектами.
Пример:
arr = [7, 3, 9, 2, 1, 5]
arr.sort()
print(arr) # [1, 2, 3, 5, 7, 9]
3. Сортировка с использованием ключа
Ключом сортировки может быть функция, которая принимает элемент списка и возвращает значение, по которому будет происходить сортировка. Например, мы можем отсортировать числа в списке по их абсолютным значениям:
Пример:
arr = [7, -3, 9, -2, 1, -5]
sorted_arr = sorted(arr, key=abs)
print(sorted_arr) # [1, -2, -3, 5, 7, 9]
4. Сортировка с использованием lambda-функций
В Python можно использовать lambda-функции для определения ключа сортировки. Например, мы можем отсортировать строки в списке по их длине:
Пример:
arr = ['banana', 'apple', 'pear', 'orange']
sorted_arr = sorted(arr, key=lambda x: len(x))
print(sorted_arr) # ['pear', 'apple', 'banana', 'orange']
5. Сортировка с использованием оператора itemgetter
Стандартный модуль operator содержит функцию itemgetter, которая может использоваться для извлечения элементов из списка. Например, мы можем отсортировать список кортежей по второму элементу каждого кортежа:
Пример:
from operator import itemgetter
arr = [(2, 3), (1, 2), (4, 1), (3, 4)]
sorted_arr = sorted(arr, key=itemgetter(1))
print(sorted_arr) # [(4, 1), (1, 2), (2, 3), (3, 4)]