Сортировка списков в 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 существуют несколько способов сортировки списков, в зависимости от того, что Вам потребуется в конкретном случае.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.