Сортировка набора в Python

Hemank Mehtani 30 Январь 2023 13 Июль 2021
  1. Используйте функцию sorted() для сортировки набора в Python
  2. Используйте метод sort() для сортировки набора в Python
Сортировка набора в 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]