Функция sorted() в Python

Python 内置函数Встроенные функции Python


Описание

sorted()Функция выполняет операцию сортировки для всех итерируемых объектов.

Разница между sort и sorted:

sort — это метод, применяемый к спискам, тогда как sorted может сортировать все итерируемые объекты.

Метод sort списка работает с существующим списком и не имеет возвращаемого значения, тогда как встроенная функция sorted возвращает новый список, а не изменяет исходный.

Синтаксис

Синтаксис sorted:

sorted(iterable, cmp=None, key=None, reverse=False)

Описание параметра:

  • iterable -- итерируемый объект.
  • cmp -- функция сравнения. У неё два параметра, оба берутся из итерируемого объекта. Эта функция должна следовать правилу: возвращать 1, если больше, -1, если меньше, 0, если равно.
  • key -- элемент, в основном используемый для сравнения. У него только один параметр, который берётся из итерируемого объекта и указывает элемент в итерируемом объекте, используемый для сортировки.
  • reverse -- Правило сортировки. reverse = True означает сортировку по убыванию, reverse = False означает сортировку по возрастанию (по умолчанию).

Возвращаемое значение

Возвращает заново отсортированный список.

Примеры

Следующий пример демонстрирует, как использовать sorted:

>>>a = [5,7,6,3,4,1,2] >>> b = sorted(a) # Сохранить исходный список >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7] >>> L=[('b',2),('a',1),('c',3),('d',4)] >>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # Использование функции cmp [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> sorted(L, key=lambda x:x[1]) # Использование key [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> sorted(students, key=lambda s: s[2]) # Сортировать по возрасту [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(students, key=lambda s: s[2], reverse=True) # Сортировка по убыванию [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>>

Python 内置函数Встроенные функции Python

Другие расширения