English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция sorted() возвращает отсортированный список в порядке итерации.
Функция sorted() возвращает отсортированный список в определенном порядке (По возрастаниюИлиПо убыванию) сортирует предоставленные итерируемые элементы.
Синтаксис sorted():
sorted(iterable, key=None, reverse=False)
Функция sorted() может использовать до трех параметров:
iterable- последовательность (Строка,Тупл,Список) или множество (Множество,Словарь,Замороженный набор) или любой другой итератор.
reverse (опционально) - если True, то отсортированный список будет обратным (или по убыванию). Если не предоставлено, то по умолчанию False.
key (опционально) - функцию для сравнения ключей для сортировки. По умолчанию None.
# список py_list = ['e', 'a', 'u', 'o', 'i'] print(sorted(py_list)) # строка py_string = 'Python' print(sorted(py_string)) # тупл py_tuple = ('e', 'a', 'u', 'o', 'i') print(sorted(py_tuple))
Результат вывода
['a', 'e', 'i', 'o', 'u'] ['P', 'h', 'n', 'o', 't', 'y'] ['a', 'e', 'i', 'o', 'u']
Обратите внимание:Список также имеетsort()Метод, который выполняется так же, как и sort(), но единственным отличием является то, что метод sort() не возвращает никакого значения и изменяет исходный список.
Функция sorted() принимает опциональный параметр reverse.
Настройка reverse = True для сортировки итерируемого объекта в порядке iteration.
# set py_set = {'e', 'a', 'u', 'o', 'i'} print(sorted(py_set, reverse=True)) # Dictionary py_dict = {'e': 1, 'a': 2, 'u': 3, 'o': 4, 'i': 5} print(sorted(py_dict, reverse=True)) # Frozen set frozen_set = frozenset(('e', 'a', 'u', 'o', 'i')) print(sorted(frozen_set, reverse=True))
Результат вывода
['u', 'o', 'i', 'e', 'a'] ['u', 'o', 'i', 'e', 'a'] ['u', 'o', 'i', 'e', 'a']
Если вы хотите использовать свою реализацию для сортировки, то функция sort() также принимает ключевую функцию в качестве опционального параметра.
Сортировка данных можно выполнять по результатам ключевой функции.
sorted(iterable, key=len)
len() — это встроенная функция Python, используемая для вычисления длины объекта.
Список сортируется по длине элементов (от наименьшего к наибольшему)
# Сортировка по второму элементу def take_second(elem): return elem[1] # Случайный список random = [(2, 2), (3, 4), (4, 1), (1, 3)] # Сортировка списка по ключу sorted_list = sorted(random, key=take_second) # Печать списка print('Сортированный список:', sorted_list)
Результат вывода
Сортированный список: [(4, 1), (2, 2), (1, 3), (3, 4)]