Найти - Пользователи
Полная версия: Отсортировать список строк. Особенности национального алфавита.
Начало » Python для новичков » Отсортировать список строк. Особенности национального алфавита.
1 2
vic57
Alex.Pro.
только сложнее. Потому что у меня алфавит шире: и буквы, и цифры, и некоторые знаки препинания.
так это все и сортируется по ord
метод хорош имеено тем, что исправляет проблему Ё, не затрагивая остальное
py.user.next
vic57
так это все и сортируется по ord
ord() берёт значение кодовой точки из Unicode. То есть фактически ты опираешься на Юникод и его алфавит. Оттуда и буква “ё” отдельная, она отдельно стоит в Юникоде. А надо создать свой алфавит, без Юникода, в нём установить порядок символов, а потом уже сортировать по нему. Не всегда надо, например, чтобы буквы в верхнем регистре шли до букв в нижнем регистре; может потребоваться, чтобы было наоборот. И вот эти все вещи надо просто самому устанавливать на своём алфавите, а не подстраиваться под Юникод, как с буквой “ё”.

Посмотри на эту задачу, как программист, а не как кодер. Просто кодером ты мало что сможешь сделать, будешь всё время плестись то за Юникодом, то за тегами, то за классами, то ещё за чем-нибудь. И когда чего-то не окажется вдруг, ты ничего не сможешь сделать, потому что не умеешь.
py.user.next
Alex.Pro.
Вот именно. И локаль здесь ни причём.
Сходи на Stack Overflow, там сидят и вытаскивают функции локали из разделяемых .so библиотек. Можешь также в C++ аналогичный код написать, там ты тоже отсортировать не сможешь русские буквы, потому что буква “ё” будет торчать, и во многих других языках. И проблема эта появилась не вчера и не у тебя одного. Так что пойдёшь ты по стандартной дорожке, по которой до тебя ходили тысячи человек, которые сталкивались с той же самой проблемой в разные годы ещё.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB