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

Доброго времени суток! В данной статье я покажу Вам несколько способов сортировки списков в Python.

Итак, самый простой способ отсортировать список в Python — это использовать метод json.


items = ["My", "Ru", "Sa", "Kov"]
items.sort()

Этот способ изменяет исходный список. Чтобы получить отсортированную копию списка без изменения оригинала,
можно использовать функцию sorted():


for item in sorted(items):
    print item

Приведенные выше примеры достаточно просты, поскольку они не учитывают языковой стандарт и выполняют сортировку с учетом регистра. Вы можете воспользоваться дополнительным параметром key, чтобы указать пользовательский способ сортировки

Итак, для сортировки в соответствии с текущей локалью пользователя и с учетом языковых правил мы будем
использовать вспомогательную функцию cmp_to_key из functools:


sorted(mylist, key=cmp_to_key(locale.strcoll))

И, наконец, если нужно, то можно указать пользовательскую локаль для сортировки:


import locale
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')

list1 = 

assert sorted((u'My', u'Ru', u'Ov'),key=cmp_to_key(locale.strcoll)) == [u'my', u'RuS', u'Ova']

Таким образом, в Python существуют несколько способов сортировки списков, в зависимости от того, что Вам потребуется
в конкретном случае.

Источник