Сортировка набора в Python
-
Используйте функцию
sorted()
для сортировки набора в Python -
Используйте метод
sort()
для сортировки набора в Python

Наборы - это неупорядоченная и неиндексированная коллекция, не имеющая повторяющихся элементов. Наборы - это один из четырех встроенных типов данных, доступных в Python, которые записываются с использованием фигурных скобок.
Учитывая, что наборы неупорядочены, невозможно отсортировать значения набора. Однако, если мы печатаем набор, он отображается в отсортированном виде.
См. Код ниже.
s = {5,2,7,1,8}
print(s)
Выход:
{1, 2, 5, 7, 8}
Если мы хотим, мы можем использовать разные функции для сортировки набора и возврата списка. Это обсуждается ниже.
Используйте функцию sorted()
для сортировки набора в Python
Функция sorted()
- это встроенная функция в Python, которая возвращает отсортированную последовательность (список, кортеж, строку) или отсортированную коллекцию (наборы, словарь) в виде списка. Функция sorted()
не влияет на исходную итеративную последовательность, поскольку обеспечивает новый отсортированный вывод.
Например,
s = {5,2,7,1,8}
print(sorted(s))
Выход:
[1, 2, 5, 7, 8]
Обратите внимание, что функция sorted()
возвращает список вместо набора. Мы снова можем преобразовать этот список в набор с помощью функции set()
. Однако это избыточно, поскольку наборы неупорядочены.
Используйте метод sort()
для сортировки набора в Python
Метод sort()
используется для сортировки элементов, указанных в списке, в порядке возрастания или убывания. Это деструктивный процесс, т.е., в отличие от функции sorted()
, метод sort()
сам сортирует элементы в исходном списке.
Мы не можем использовать эту функцию с набором. Однако мы можем заключить набор в список, и он отсортирует их.
Например,
s = [{5,2,7,1,8}]
s.sort()
print(s)
Выход:
[{1, 2, 5, 7, 8}]
Обратите внимание, что функция sort()
также возвращает окончательный результат в виде списка. Мы можем использовать аналогичный подход и с функцией sorted ().
С другой стороны, мы можем преобразовать набор в список с помощью функции list()
и отсортировать его с помощью этого метода.
См. Код ниже.
s = {5,2,7,1,8}
l = list(s)
l.sort()
print(l)
Выход:
[1, 2, 5, 7, 8]