logo

sort() у Python

Функцію сортування можна використовувати для сортування списку як за зростанням, так і за спаданням. Його можна використовувати для сортування списків цілих чисел, чисел із плаваючою комою, рядків тощо Python . Його часова складність дорівнює O(NlogN).

Синтаксис Python sort().

Синтаксис функції sort() у Python такий.



Синтаксис: list_name.sort(key=…, reverse=…)

Параметри:

За замовчуванням Python sort() не потребує додаткових параметрів і сортує список у порядку зростання. Однак він має два необов’язкові параметри:



  • ключ: функція, яка служить ключем для порівняння сортування
  • зворотний: Якщо істина, список сортується в порядку спадання.

Повернене значення: Функція sort() нічого не повертає, але змінює вихідний список відповідно до переданого параметра.

Що таке функція sort() Python?

У Python,sort()>функція — це метод, який належить до списку. Він використовується для сортування в python або елементів списку в порядку зростання за замовчуванням. Thesort()>метод змінює оригінальний список на місці, тобто він переставляє елементи безпосередньо в існуючому об’єкті списку, а не створює новий відсортований список.

Sort() у прикладах Python

Базовий приклад методу sort() Python.



C# дата і час

приклад: У цьому прикладі наведений нижче код визначає список з назвоюunsorted_list>з числовими елементами. Thesort()>метод потім застосовується до списку, який переставляє його елементи в порядку зростання. Відсортований список потім друкується, показуючи результат операції сортування.

Python3




unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)>

>

>

Вихід:

Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>

Різні способи сортування () у Python

У Python,sort()>це вбудований метод, який використовується для сортування елементів у списку в порядку зростання. Він змінює вихідний список на місці, тобто змінює порядок елементів безпосередньо в списку без створення нового списку. Thesort()>метод не повертає жодного значення; він просто сортує список і оновлює його.

  1. Сортування Список у порядку зростання
  2. Сортування Список у порядку спадання
  3. Сортувати з призначена для користувача функція Використання ключа
  4. Сортування Список рядків за довжиною
  5. Список сортування Кортежі за конкретним елементом
  6. Список сортування словники за певним ключем

Sort() у Python за допомогою списку сортування за зростанням

Метод `sort()` у Python використовується для сортування списку елементів у порядку зростання. Він змінює вихідний список на місці, переставляючи його елементи в порядку збільшення числа або лексикографії. Метод застосовний до списків, що містять числові значення, рядки або їх комбінацію. За замовчуванням функція sort() у Python сортує список у порядку зростання, якщо ми не надаємо йому жодних параметрів.

приклад : у цьому прикладі наведений нижче код демонструє операції сортування для різних типів списків. Спочатку він сортує список цілих чисел (`чисел`) у порядку зростання за допомогою методу `sort()`. Далі він сортує список чисел з плаваючою комою (`десяткове число`) у порядку зростання.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)>

>

>

Вихід:

[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>

Sort() у Python за допомогою списку сортування в порядку спадання

Щоб відсортувати список у порядку спадання, установіть для параметра reverse значення True функції sort() у Python.

my_list.sort(reverse=True)>

Приклад: Я n цей приклад коду визначає три списки різних типів (цілі числа, числа з плаваючою комою та рядки), сортує їх у порядку спадання за допомогою методу `sort` з параметром `reverse=True`, а потім друкує відсортовані списки.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)>

>

>

Вихід:

[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>

Сортувати за допомогою спеціальної функції за допомогою ключа

У цьому методі описується операція сортування за допомогою спеціальної функції за допомогою параметра key. Це дозволяє сортувати на основі певного критерію, визначеного спеціальною функцією, а не порядку за замовчуванням. Спеціальна функція застосовується до кожного елемента, а список сортується відповідно.

приклад : у цьому прикладі код визначає функцію `sortSecond`, яка повертає другий елемент кортежу. Потім він створює список кортежів, `list1`, і сортує його в порядку зростання на основі другого елемента за допомогою функції `sortSecond`.

Python3




def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)>

>

>

Вихід:

[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>

Сортування списку рядків за довжиною в Sort() у Python

У цьому методі ми сортуємо список рядків у порядку зростання їхньої довжини за допомогою функції `sort()` з `key=len`. Це означає, що рядки впорядковані від найкоротшої до найдовшої довжини в отриманому відсортованому списку.

приклад: У цьому прикладі код нижче визначає список рядків,words>, а потім сортує його на основі довжини кожного рядка за допомогоюlen()>функціонувати як ключ сортування. Нарешті, він друкує відсортований список.

Python3




# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)>

>

>

Вихід:

Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>

Сортування списку кортежів за певним елементом

Щоб відсортувати список кортежів за певним елементом, використовуйте функцію `sort()` з параметром `key`. Вкажіть лямбда-функцію як ключ, орієнтуючись на індекс потрібного елемента. Кортежі будуть відсортовані на основі значень цього конкретного елемента.

приклад: У цьому коді методу визначено список кортежів під назвою «люди», де кожен кортеж представляє ім’я та вік людини. Потім він сортує список на основі другого елемента кожного кортежу (вік), використовуючиsort>метод і лямбда-функція як ключ сортування.

Python3




# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)>

>

>

Вихід:

Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]>

Сортування списку словників за певним ключем

Цей метод передбачає використання функції `sort()` для списку словників у Python. Вказавши лямбда-функцію як параметр ключа, ви можете сортувати список на основі певного ключа в кожному словнику. Це дає змогу впорядкувати список словників у порядку зростання відповідно до значень, пов’язаних із вибраним ключем.

приклад : у цьому прикладі код визначає список викликаних словниківstudents>, де кожен словник представляє учня з ключами імені та віку. Потім він сортує список словників на основі вікового ключа в кожному словнику за допомогоюsort>метод і лямбда-функція як ключ.

Python3




# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)>

>

>

Вихід:

Sorted by Age: [  {'name': 'Charlie', 'age': 22},  {'name': 'Alice', 'age': 25},  {'name': 'David', 'age': 28},  {'name': 'Bob', 'age': 30} ]>

Різниця між функцією sorted() і sort() у Python

Давайте побачимо різницю між відсортовано() і функція sort() у Python:

Python sorted()

Python sort()

Функція sorted() повертає відсортований список конкретного ітерованого об’єкта. Метод sort() сортує список.
Використовуючи функцію sorted(), ми можемо вказати порядок зростання або спадання За замовчуванням він сортує список у порядку зростання.
Синтаксис : відсортований (ітерований, ключ=ключ, зворотний=зворотний) Синтаксис : list.sort(reverse=True|False, key=myFunc)
Його тип повернення — відсортований список. Ми також можемо використовувати його для сортування списку в порядку спадання.

Можна використовувати з будь-яким ітерованим, навіть якщо порівняння між елементами не визначено

Вимагає, щоб елементи були порівнювані за допомогою<>і>>оператори

Підтримує відносний порядок рівних елементів, роблячи його стабільним.

Може бути не стабільним; порядок рівних елементів може змінюватися.

O(n log n) часова складність для більшості випадків.

O(n log n) часова складність для більшості випадків.

Він може сортувати лише список, який містить лише один тип значення. Він сортує список за місцем.

Підтримує akey>параметр для спеціальних критеріїв сортування.

Також підтримує akey>параметр для спеціальних критеріїв сортування.

Потрібна додаткова пам'ять для нового відсортованого списку.

Виконує сортування на місці, заощаджуючи пам'ять.

Щоб дізнатися більше, зверніться Різниця Python між функціями sorted() і sort(). .