14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
Да, эту задачу юникод вроде должен решать
Читать полностью…
это тебе надо в отдельные крейты которые специализируются на юникоде
Читать полностью…
Там был прям длиннющий тред на "давайте выкинем дефолтный итератор из строк" :D
Читать полностью…
я имею в виду, что нельзя напрямую сделать for mystery_object in string. Нужно указывать, по чему итерируешься (байты, кодпойнты, графемы)
да да, сейчас начнут трясти своими графем-кластерами
Читать полностью…
В расте тоже так, len() выдаёт длину UTF-8 байтов. Чтобы посчитать кодпойнты, нужно сделать str.chars().count(), что O(N)
(правда, в расте нельзя по строке напрямую итерироваться)
Вообще длина строки в кодпойнтах — не такая полезная операция, как кажется на первый взгляд. Обычно есть что-то лучше.
питон обещает O(1) для some_str[i], от того и использует их
я если честно не понимаю зачем использовать утф16 и тем более утф32
Читать полностью…
А, в гошке длина строки != Количество итераций при обходе её
Читать полностью…
просто "буква" может состоять из нескольких кодпойнтов
Читать полностью…
Да вроде есть, когда по строке идёшь ты вообще о байтах не думаешь. Ты думаешь о буквах в рамках текущей локали
Читать полностью…
В питоне 3.15 наконец-то добавили возможности перевернуть строку
>>> sЧитать полностью…
'café'
>>> "".join(map(str, list(unicodedata.iter_graphemes(s))[::-1]))
'éfac'
Я когда-то давно был подписан на python-ideas
Читать полностью…
потому что здесь нет какого-то очевидного варианта который чем-то лучше других, лучше сразу получить ошибку чем спотыкаться о неочевидный выбор
Читать полностью…
абсолютно выдуманные сценарии которые на практике скорее вредны
Читать полностью…
длина строки это фейк, итерация по строке это фейк
Читать полностью…
стд покрывает относительно высокоуровневый сценарий взаимодействия, где ос строки это пути к файлам, аргументы командной строки итд
если ты пишешь что-то более низкоуровневое то тебе надо писать разный код под разные платформы и там естественно использовать разные конкретные типы
То есть если мне надо взаимодействовать с ОС мне нахуй не упал OSStr?
Читать полностью…
вот я всё хотел latin-1 заменить на cp1251, чтобы наши, русские программы занимали меньше оперативки, но там в unicodeobject.c прям много завязано на то, что оно latin-1
Ну вот тут и будет инвалидация по стейту, когда товар в кеше отличается от фактически существующего товара
Читать полностью…