Функция 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
Сегодня в Ступино прошел уже 11-й по счету ежегодный конкурс профессионального мастерства «Мособлгаз Skills-2025».
Этот конкурс стал настоящей «Олимпиадой газовиков», собрав более 100 участников из 7 команд, готовых продемонстрировать свои навыки и стремление к вершинам профессионализма.
Каждый раз это не только соревнование, но и отличная возможность обменяться опытом, вдохновиться успехами друг друга и укрепить командный дух.
В одиночных и командных номинациях мы увидим лучших проектировщиков, продавцов-консультантов, электрогазосварщиков, машинистов экскаваторов, а также бригады аварийно-диспетчерского участков и слесарей по ремонту подземных газопроводов.
В этом году мы включили новые номинации: "Лучший наставник" и "Лучший студент". Это прекрасная возможность для тех, кто передает свои знания и опыт, а также для молодого поколения специалистов. Также впервые на конкурс приглашены сотрудники АО «Мособлтепло», которые в следующем году станут полноправными участниками соревнований, ведь у нас общая миссия – мы работаем, чтобы в домах Подмосковья было тепло и уютно!
Пожелал участникам уверенности в своих силах, упорной борьбы и, конечно же, честных побед! Вперед к новым достижениям!
@baranov_mosoblgaz
#Мособлгаз#Skills
📌Насколько Skills реально помогают LLM-агентам.
SkillsBench — исследование и первый бенчмарк, где Agent Skills тестируются как самостоятельный артефакт.
Авторы из 15+ топовых университетов взяли 84 задачи из 11 доменов, запустили 7 конфигураций моделей (Claude Code с Opus/Sonnet/Haiku 4.5 и 4.6, Gemini CLI с Gemini 3 Pro/Flash, Codex с GPT-5.2) и проверили 3 условия: без Skills, с готовыми Skills и с самостоятельно сгенерированными Skills. Итого: 7 308 траекторий с детерминированными верификаторами на pytest.
Готовые Skills в среднем поднимают pass rate на 16,2 процентных пункта: с 24,3% до 40,6%. Но картина неоднородная: в медицине прирост составил +51,9%, для производства — +41,9%, тогда как в разработке ПО всего +4,5%.
Это объяснимо: там, где модели плохо покрыты обучением (клинические протоколы, промышленные воркфлоу), Skills дают максимальный эффект. Там, где модель и так знает домен - почти ничего.
🟡Главный и неожиданный результат: самогенерация Skills не работает.
Когда моделям предлагали сначала написать нужные гайды, а потом решать задачу, средний результат упал на 1,3% по сравнению с работой вообще без Skills. Только Claude Opus 4.6 показал скромный плюс (+1,4%), а GPT-5.2 просел на 5,6%.
Иными словами - модели не умеют надежно создавать то знание, которым умеют пользоваться.
🟡Еще один интересный момент - это объем Skills.
Оптимальный вариант: 2–3 модуля, прирост +18,6%. При 4 и более - всего +5,9%. Подробная документация вообще дает отрицательный эффект: –2,9%, с ней агент буквально тонет в контексте.
Показательна и стоимость решения задач: Haiku 4.5 со Skills обходит Opus 4.5 без Skills — меньшая и более дешевая модель с готовыми Skills бьет старшую модель без них.
Gemini 3 Flash при этом показал лучший абсолютный результат среди всех конфигураций - 48,7% со Skills при цене $0,57 за одну задачу против $1,06 у Gemini 3 Pro.
🟡Страница проекта
🟡Arxiv
@ai_machinelearning_big_data
#AI#ML#LLM#Benchmark#Skills
💠Прием в магистратуру Высшей школы бизнеса и предпринимательства!
🏆Отправьте документы для повышения своей профессиональной квалификации и изучения инновационных подходов!
🌠 Кандидат должен иметь стаж работы не менее 3 лет после окончания бакалавриата.
🔎 Более подробная информация по ссылке!
🔗 Ссылка для регистрации: e-tinglovchi.gsbe.uz
☎️ +998 71 239-03-15
#GraduateSchool#Admission#Learn#Skills
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🇺🇿 Biznes va tadbirkorlik oliy maktabi magistratura dasturlariga qabul!
📄O‘z kasbiy malakangizni oshirish va innovatsion yondashuvlarni o‘rganish uchun hujjatlaringizni yuboring!
❗️Nomzod oliy taʼlim muassasasining bakalavr darajasini tamomlagandan keyin kamida 3 yil ish stajiga ega bo'lishi shart.
🔎Batafsil ma'lumotushbu havolada!
🔗 Ro‘yxatdan o‘tish uchun havola: e-tinglovchi.gsbe.uz
💡 Zamonaviy biznes ta’limini tanlang – biz bilan kelajagingizni quring!
📞+998 71 239-03-15
#GraduateSchool#Admission#Learn#Skills
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube