TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #146 · 16 сеп.

Функция sub в regex может принимать функцию в качестве аргумента repl. 📄 Из документации: If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string. То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений. Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений. Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере: Создаем карту замены. То есть какие строки на какие требуется менять. remap = { 'раз': '1', 'два': '2', 'три': '3', 'четыре': '4', 'пять': '5', } Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match. Используя данные этого объекта мы вычисляем замену on-the-fly! def get_str(match: re.Match): word = match.group(1) return remap.get(word.lower()) or word Пример текста. text = '''Раз Два Три Четыре Пять Вместе будем мы считать Пять Четыре Три Два Раз Мы считать научим вас ''' Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции. (Данный паттерн ищет отдельные слова в тексте) >>> print(re.sub(r'(\w+)', get_str, text)) 1 2 3 4 5 Вместе будем мы считать 5 4 3 2 1 Мы считать научим вас Думаю, достаточно наглядно 🤓 #libs#regex

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #rakesearch

当前筛选 #rakesearch清除筛选

Математика в тапочках На конференции GRID’2025 в Дубне представили свежие результаты проекта RakeSearch — добровольной распределённой вычислительной сети, которая решает задачи комбинаторики на обычных домашних ПК. Доклад основателя проекта Эдуарда Ватутина — был про то, как улучшенная балансировка нагрузки помогает быстрее искать латинские квадраты со специфическими свойствами. Я тоже участвую в этом проекте — и даже вхожу в топ‑3 добровольцев по мощности расчётов. Что нового удалось посчитать: – 377 674 диагональных трансверсалей у DLS порядка 14 — рекорд; – 5995 ортогональных латинских квадратов (ODLS) для порядка 12 — тоже рекорд; – в активных экспериментах участвуют машины из проекта RakeSearch, суммарно дающие до 12 TFLOP/s вычислительной мощности . – часть данных получена полным перебором (brute force), часть — эвристиками M1/M2, которые перебирают «соседства» и трансформации. 📌 Для сравнения: 12 TFLOP/s — это примерно как суперкомпьютер SKIF Cyberia (входил в топ‑30 России в 2023 году) или как нижняя треть мирового рейтинга TOP500… в 2005 году. Не бог весть что по сегодняшним меркам, но это смотря с чем сравнивать. Слайды доклада приложены в PDF. #RakeSearch

Hashtags

Российский проект RakeSearch имеет неприятную особенность – после перезагрузки задачи начинают считаться заново. Когда задачи считаются в 30+ потоков и среди них есть задачи длительностью до часа, то это приводит к потере до получаса рабочего времени мощного компа. На скринах пример списка задач до и после перезагрузки. В общей картине эти потери, конечно, незначительны. А вот ведущему проекта Эдуарду Ватутину спасибо за регулярные посты о ходе проекта и публикациию результатов в энциклопедии OEIS. Имхо достойно того, чтобы 100% времени наших CPU выделять на RakeSearch. Вот бы ещё на Apple Silicon и на Linux появились задачи от проекта! Подписывайтесь на Эдуарда: https://vk.com/id162891802 #rakesearch #silicon