Функция 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
✈️ Как появились первые авиакомпании
📌Между первым полётом Райтов и появлением авиалиний прошло чуть больше десяти лет. Первая мировая оставила тысячи пилотов, сотни аэродромов и десятки тысяч самолётов без дела – именно переоборудованные бомбардировщики с примитивными кабинами на 2-4 человека стали основой первых авиакомпаний
🔵Первая регулярная линия появилась ещё в январе 1914 года во Флориде, но проработала лишь четыре месяца. Настоящий бум начался после войны: в августе 1919-го открылся первый международный рейс Лондон–Париж, а KLM и Qantas, основанные в 1919-1920 годах, летают до сих пор. Пассажирские перевозки были убыточны – авиакомпании выживали за счёт почтовых контрактов, а редкие пассажиры ютились рядом с мешками корреспонденции
🔵К концу 1920-х появились первые настоящие пассажирские самолёты – Fokker F.VII, Junkers F 13 – с закрытыми кабинами и отоплением. Авиация превращалась из приключения в отрасль с правилами и расписанием
⬅️Продолжение следует...
Лёгкое небо × SkyMoments
#aviation#LN_EDU#история#KLM#Qantas
🇦🇺Первый Qantas A350 для Project Sunrise вышел из цеха Airbus
📌В Тулузе 12 апреля с линии сборки Airbus выкатился первый A350-1000ULR для Qantas – ключевой самолёт проекта Sunrise, анонсированного ещё в 2017 году. Борт с французской тестовой регистрацией F-WZNK полностью собран с двигателями Rolls-Royce Trent XWB-97 и дополнительным топливным баком на 20 000 литров. Впереди – наземные проверки и двухмесячная программа лётных испытаний
🔵С начала 2027 года Qantas планирует запустить беспосадочные рейсы из Сиднея в Лондон и Нью-Йорк – около 22 часов в воздухе. На борту всего 238 кресел вместо стандартных 350, около 40% салона отдано премиальным классам. Для комфорта на сверхдлинных перелётах предусмотрена зона для разминки, освещение по циркадным ритмам и бесплатный Wi-Fi
🔵Все 12 заказанных A350 будут названы в честь звёзд – дань памяти военным полётам на летающих лодках Catalina между Австралией и Цейлоном, когда экипажи проводили в воздухе так долго, что встречали два рассвета. Отсюда и название – Project Sunrise
⬅️Полетели бы 22 часа без пересадки?
Лёгкое небо
#aviation#news#Qantas#Airbus#A350#ProjectSunrise
🇦🇺Qantas, AirAsia и Air India сокращают рейсы из-за роста цен на топливо
📌Авиакомпании начали масштабное сокращение полётных программ в Индии и по всему миру на фоне резкого подорожания авиакеросина
🔵С марта 2025 года цена топлива для международных рейсов выросла почти вдвое, что сделало многие маршруты экономически невыгодными
🔵Qantas приостановит рейсы Сидней – Бангалор с августа по октябрь, перенаправив самолёты на более прибыльные европейские направления. Thai AirAsia полностью закрывает маршруты из Пхукета в Ченнаи и Кочи, сокращая свои провозные мощности в регионе на 30%. Air India также урезает частоту полётов в Европу и Северную Америку на 10-12%, а с июля сократит рейсы из Мумбаи в Токио
🔵Топливо составляет 25-35% всех операционных расходов авиакомпании, поэтому такой резкий скачок цен напрямую бьёт по прибыльности. На ситуацию также влияют ограничения воздушного пространства, увеличивающие время в пути и расход горючего
Лёгкое небо
#aviation#news#Qantas#AirAsia#AirIndia#fuel
✈️Airbus собрала первый A350-1000ULR — лайнер для рекордных перелётов!🌏
Авиакомпания Qantas делает решающий шаг к запуску проекта Sunrise — прямых беспосадочных рейсов из Австралии в Лондон и Нью-Йорк! 🇦🇺➡️🇬🇧🇺🇸
На заводе в Тулузе собран первый Airbus A350-1000ULR (MSN 707) — самый дальнемагистральный пассажирский самолёт в истории Qantas.
🛫 Время в воздухе — до 22 часов!
⛽ Дополнительный топливный бак на 20 000 литров
🛋 Всего 238 мест ради максимального комфорта
🧘♂️ Специальная *«зона здоровья»* для разминки во время сверхдальних перелётов
🚀 Поставка ожидается к концу 2026 года, а пока первый экземпляр готовится к установке двигателей Rolls-Royce Trent XWB-97 и первым испытаниям.
Это — новая эра авиации, когда перелёт «из конца в конец света» станет реальностью 🌍
#A350#Airbus#Qantas#ProjectSunrise#Авиация#НовостиАвиации#ДальнемагистральныйПолёт#Лондон#НьюЙорк#Австралия#Технологии#SkyNews#AviationNews✈️