Перейти к содержимому

Сортировка списков

Python — это мощный язык программирования, который поставляется со множеством встроенных функций и библиотек. Списки являются фундаментальным встроенным типом данных в Python, предоставляющим мощные инструменты для управления коллекциями элементов. Сортировка списка — это распространенная задача в программировании, и Python предлагает простой и эффективный способ сортировки списков с помощью встроенных функций. В этой статье мы обсудим различные методы, доступные для сортировки списков в Python, включая встроенные функции sorted() и sort().

Функция sorted()

Функция sorted() — это встроенная функция Python, которая возвращает отсортированный список из итерируемого объекта. Функцию можно использовать для сортировки любого итерируемого объекта, включая списки, кортежи и строки. Функция sorted() создает новый отсортированный список и оставляет исходный список без изменений.

Сортировка списка простых данных в Python

python
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
sorted_fruits = sorted(fruits)
print(sorted_fruits)

Вывод:


console
['apple', 'banana', 'cherry', 'durian', 'elderberry']

Функция sort()

Метод sort() — это встроенный метод Python, который сортирует список на месте. В отличие от функции sorted(), которая возвращает новый отсортированный список, метод sort() напрямую изменяет исходный список и возвращает None. По умолчанию метод sort() сортирует список в порядке возрастания, но его можно изменить для сортировки в порядке убывания.

Сортировка списка в Python с изменением исходного списка

python
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
fruits.sort()
print(fruits)

Вывод:


console
['apple', 'banana', 'cherry', 'durian', 'elderberry']

Чтобы отсортировать список в порядке убывания, мы можем передать аргумент reverse=True в метод sort().

Сортировка списка в Python в порядке убывания

python
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
fruits.sort(reverse=True)
print(fruits)

Вывод:


console
['elderberry', 'durian', 'cherry', 'banana', 'apple']

Сортировка списков с помощью функции key

Иногда нам может потребоваться отсортировать список на основе определенного критерия. Например, мы можем захотеть отсортировать список кортежей на основе второго элемента каждого кортежа. В таких случаях мы можем использовать аргумент key для указания функции, которая возвращает значение для сортировки.

Сортировка списка кортежей в Python на основе второго элемента кортежа

python
fruits = [('apple', 10), ('banana', 5), ('cherry', 20), ('durian', 15), ('elderberry', 25)]
sorted_fruits = sorted(fruits, key=lambda x: x[1])
print(sorted_fruits)

Вывод:


console
[('banana', 5), ('apple', 10), ('durian', 15), ('cherry', 20), ('elderberry', 25)]

В приведенном выше примере мы использовали функцию lambda для сортировки списка кортежей на основе второго элемента каждого кортежа.

Заключение

Сортировка списков — это важная задача в программировании, и Python предоставляет простой и эффективный способ сортировки списков с помощью встроенных функций. В этой статье мы рассмотрели две встроенные функции Python, sorted() и sort(), а также то, как отсортировать список на основе определенного критерия.

Практика

Какие методы можно использовать для сортировки списков в Python?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.