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