Функция 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
🔢 ЦИФРОВОЕ СЕЛЬСКОЕ ХОЗЯЙСТВО МЕНЯЕТ ПРАВИЛА ИГРЫ - главный лейтмотив проходящей в Китае World Agrifood Innovation Conference.
🧬 Комплексное развитие будущей сельскохозяйственной науки, образования и промышленности обсудили на сессии открытия конференции.
🤓 Форум собрал ведущих экспертов и инноваторов в сфере сельского хозяйства и пищевых технологий со всего мира.
🌾 Выступления спикеров позволили по-новому взглянуть на будущее агропродовольственных систем.
📈 Было интересно узнать о последних трендах и прорывных технологиях, которые формируют будущее агропромышленного комплекса.
🤝Помимо насыщенной деловой программы, конференция предоставила отличные возможности для двухсторонних встреч.
‼️ Мне удалось установить ценные контакты с коллегами из разных стран и обсудить потенциальные партнерства.
#WorldAgrifoodInnovation2024#AgTech#FoodInnovation#China
#АссоциацияТеплицыРоссии
Alvie Raises $2.19M for HUGO
Alvie has secured $2.19 million to advance HUGO, the first digital assistant aimed at optimizing the spraying of phytosanitary products and bio-controls, as announced on December 19, 2024.
#Alvie#HUGO#Funding#AgTech#DigitalAssistant#Phytosanitary#BioControls#Innovation#TechFunding#SustainableAgriculture
Беспилотник + умный плуг: как работает тандем будущего уже сегодня?
Мы много говорим о конкретных брендах — Zoomlion, Kverneland. Но настоящая революция происходит там, где эти технологии встречаются с искусственным интеллектом. Речь о беспилотных тракторах.
Почему это уже не фантастика, а необходимость?
🟢Дефицит кадров: Квалифицированных механизаторов становится меньше.
🟢Работа 24/7: «Железный работник» не устает и может выходить в поле ночью или в короткое «окно» хорошей погоды.
🟢Фантастическая точность: Исключается «человеческий фактор». Перекрытия и огрехи сводятся к нулю, экономятся топливо, семена, удобрения.
🟢Безопасность: Нет риска для оператора в сложных условиях.
А где же тут наша любимая механика? А вот где! Беспилотник — это не просто трактор без кабины. Это «мозг», которому нужны современные, умные и надежные «инструменты».
Яркий пример симбиоза: беспилотный трактор AgXeed и плуг Kverneland.
Давайте разберем, как это работает в паре:
1. AgXeed AgBot — это полностью электрический автономный трактор на гусеничном ходу. Оператор задает ему границы поля и маршрут через планшет. Дальше он едет сам, огибая препятствия и соблюдая точность до сантиметра.
2. К нему «в пару» цепляется не какой-нибудь плуг, а, как на примере в видео, Kverneland Почему он идеален?
🔺Надежная геометрия: Он дает стабильно качественную вспашку, что критично для автономной работы — неполадок должно быть минимум.
🔺Эффективность и точность: Отличное крошение и оборот пласта. Беспилотник ведет его по идеально прямой, без «волны», что повышает равномерность обработки.
🔺Полная совместимость: Современные модели Kverneland легко адаптируются к системе автоматической сцепки и «общению» по ISOBUS с «мозгом» AgXeed.
Что получает фермер в итоге?
Фермер становится не водителем, а менеджером процессов. Пока один AgBot пашет с Kverneland, второй может заниматься посевом. Вся техника работает согласованно, а хозяин контролирует все с одного экрана, экономя время и ресурсы.
Вывод: Будущее — не просто в автоматике, а в синергии. Мощный и умный беспилотный трактор раскрывает весь свой потенциал только с точным, выверенным и надежным орудием (как Kverneland). Это и есть сельское хозяйство нового уровня: умное, эффективное и предсказуемое.
#беспилотныйтрактор#AgXeed#Kverneland#умноесельскоехозяйство#точноеземледелие#агротехнологии#AgTech#автономнаятехника#трактор#плуг#фермерство_будущего#zoomlion