Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 24, 2024 15:38:51

vic57
Зарегистрирован: 2015-07-07
Сообщения: 908
Репутация: +  127  -
Профиль   Отправить e-mail  

Отсортировать список строк. Особенности национального алфавита.

Alex.Pro.
только сложнее. Потому что у меня алфавит шире: и буквы, и цифры, и некоторые знаки препинания.
так это все и сортируется по ord
метод хорош имеено тем, что исправляет проблему Ё, не затрагивая остальное

Офлайн

#2 Дек. 24, 2024 21:53:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Отсортировать список строк. Особенности национального алфавита.

vic57
так это все и сортируется по ord
ord() берёт значение кодовой точки из Unicode. То есть фактически ты опираешься на Юникод и его алфавит. Оттуда и буква “ё” отдельная, она отдельно стоит в Юникоде. А надо создать свой алфавит, без Юникода, в нём установить порядок символов, а потом уже сортировать по нему. Не всегда надо, например, чтобы буквы в верхнем регистре шли до букв в нижнем регистре; может потребоваться, чтобы было наоборот. И вот эти все вещи надо просто самому устанавливать на своём алфавите, а не подстраиваться под Юникод, как с буквой “ё”.

Посмотри на эту задачу, как программист, а не как кодер. Просто кодером ты мало что сможешь сделать, будешь всё время плестись то за Юникодом, то за тегами, то за классами, то ещё за чем-нибудь. И когда чего-то не окажется вдруг, ты ничего не сможешь сделать, потому что не умеешь.



Офлайн

#3 Дек. 24, 2024 22:01:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Отсортировать список строк. Особенности национального алфавита.

Alex.Pro.
Вот именно. И локаль здесь ни причём.
Сходи на Stack Overflow, там сидят и вытаскивают функции локали из разделяемых .so библиотек. Можешь также в C++ аналогичный код написать, там ты тоже отсортировать не сможешь русские буквы, потому что буква “ё” будет торчать, и во многих других языках. И проблема эта появилась не вчера и не у тебя одного. Так что пойдёшь ты по стандартной дорожке, по которой до тебя ходили тысячи человек, которые сталкивались с той же самой проблемой в разные годы ещё.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version