Python Glossary English

все Python 3localeфункция

locale.strxfrm()

сравнение строк

Преобразует строку в ключ, который сравнивается обычным < так же, как исходные строки по strcoll(); удобен как key для sorted().

Синтаксис

sorted(words, key=locale.strxfrm)

sorted(words, key=locale.strxfrm) быстрее, чем cmp_to_key(strcoll): каждая строка преобразуется один раз. Ключ — непрозрачная строка для текущей LC_COLLATE: сохранять её в файл или сравнивать после смены локали бессмысленно. В локали 'C' ключ совпадает с самой строкой, так что без setlocale() русская сортировка останется по кодовым точкам ('ё' после 'я').

Примеры

import locale
print(sorted(['b', 'A', 'a'], key=locale.strxfrm))  # → ['A', 'a', 'b'] — локаль C
print(locale.strxfrm('abc'))  # → abc — в C ключ равен строке

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности