@elda
В Python есть несколько способов сортировки массива. Рассмотрим некоторые из них:
- Метод sort(): Метод sort() сортирует список "на месте", изменяя исходный список.
1
2
3
|
arr = [4, 2, 1, 3]
arr.sort()
print(arr) # Вывод: [1, 2, 3, 4]
|
- Встроенная функция sorted(): Функция sorted() возвращает отсортированную копию исходного списка, не изменяя его.
1
2
3
4
|
arr = [4, 2, 1, 3]
sorted_arr = sorted(arr)
print(sorted_arr) # Вывод: [1, 2, 3, 4]
print(arr) # Вывод: [4, 2, 1, 3]
|
- Пользовательская функция сортировки: Вы можете создать пользовательскую функцию сортировки, передав ее в качестве аргумента в метод sort() или функцию sorted(). Функция сортировки должна принимать два элемента и возвращать -1, 0 или 1 в зависимости от того, какой элемент должен идти первым.
1
2
3
4
5
6
|
def custom_sort(x):
return x % 2 # Сортировка по нечетным числам
arr = [4, 2, 1, 3]
arr.sort(key=custom_sort)
print(arr) # Вывод: [2, 4, 1, 3]
|
- Методы сортировки из модуля heapq: Модуль heapq предоставляет некоторые методы сортировки, такие как heapq.heapify(), heapq.nsmallest() и heapq.nlargest(). Эти методы могут использоваться для сортировки массива.
1
2
3
4
5
6
|
import heapq
arr = [4, 2, 1, 3]
heapq.heapify(arr) # Преобразование списка в кучу
sorted_arr = [heapq.heappop(arr) for _ in range(len(arr))] # Извлечение элементов кучи
print(sorted_arr) # Вывод: [1, 2, 3, 4]
|
Вы можете выбрать подходящий способ сортировки в зависимости от ваших потребностей и предпочтений.