Функция 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
epistemophilia
noun
love of knowledge
specifically : excessive striving for or preoccupation with knowledge
[Source]
@googlefactss#Epistemophilia#KnowledgeIsPower#LifelongLearning#Curiosity#PassionForLearning
Taste of Africa: ОБРАЗование
⚛️ Ядерная физика на страже истории: как ученый помог переосмыслить прошлое Африки
Иногда в массовой культуре и учебных упрощениях образ Африки выглядит так, будто её “большая история” начинается только с приходом европейцев. До этого — туман, общие слова. Но такой взгляд часто говорит не о реальности, а о том, как именно эту реальность привыкли описывать.
Как закрепляются устойчивые образы
Методология интерпретаций:
• Упрощение: сложные общества и традиции сводят к картинке “примитива”.
• Закрепление: это повторяют в образовании и публичной культуре.
• Инерция: со временем такая схема начинает восприниматься как догма “само собой”.
Ученый, который предложил использовать науку для открытия истинного образа Африки
🇸🇳 Шейх Анта Диоп (1923–1986) был среди тех, кто освещал африканскую историю через проверяемые подходы — там, где важны источники и методы, а не привычные клише.
Его сила — в сочетании разных дисциплин:
🔬 Радиоуглеродные датировки. Диоп понял: чтобы доказать древность и величие своей цивилизации, недостаточно слов. Нужны цифры, которые признает любая лаборатория мира. Поэтому в 1966 году он основал в Дакаре первую в Тропической Африке лабораторию радиоуглеродного анализа (RA14) .
• Что это дало: Радиоуглеродный анализ позволяет точно датировать возраст археологических находок (кости, уголь, дерево). Диоп получил возможность самостоятельно доказывать, что найденные в Африке артефакты — древние, не отправляя их в европейские лаборатории, где их могли «потерять» или исказить результаты. Он сделал науку суверенной.
🧪 Меланиновый тест (Метод определения расы)
Диоп понимал, что споры о внешности древних египтян можно решить не только картинами на стенах гробниц, но и химией. Он разработал методику определения содержания меланина (пигмента, отвечающего за цвет кожи) в образцах кожи.
• Что это дало: Он применил этот тест к образцам кожи египетских мумий. Результаты показали высокий уровень меланина, характерный для темнокожих людей.
Лингвистическая генетика (Сравнительный метод)
Диоп разработал методологию сравнения древних и современных языков, которая вышла за рамки простого поиска похожих слов. Он сравнивал грамматические структуры, системы родства и способы мышления, зашифрованные в языке.
• Что это дало: Он доказал, что древнеегипетский язык и современные языки Западной Африки (например, его родной волоф) — не просто соседи, а родственники. Он, например, перевел отрывки из теории относительности Эйнштейна на язык волоф, доказывая, что современный африканский язык способен выражать сложнейшие научные концепции.
🧠 Главное изобретение: Синтез как оружие
Итак, Шейх Анта Диоп изобрел— междисциплинарный научный подход, заточенный под защиту истины.
Он соединил ядерную физику (объективные даты), химию (анализ меланина), лингвистику (доказательства родства) и историю.
Этот синтез стал тем самым «оружием», которое позволило ему на конференции ЮНЕСКО в Каире в 1974 году научно разгромить колониальные мифы о «неисторичности» Африки и представить неопровержимые доказательства происхождения цивилизации Древнего Египта
Что это дало
Когда в разговор о прошлом входят датировки, тексты и критерии проверки, становится труднее удерживать историю на уровне стереотипов. Появляется более точная, объёмная картина — и уважение к сложности континента.
Итог: вклад Диопа — не в одном громком тезисе, а в том, что он помог выстроить разговор об африканском прошлом на языке методов и доказательств. Честь ему и хвала!
o 🥁🌟 Ритмическое путешествие продолжается: Мир освещается солнцем, а человек — знанием.🥁🌟🌍💫
#TasteOfAfrica#Наука#ИсторияАфрики#Образование#Научпоп#ШейхАнтаДиоп#AfricanHistory#ScienceAndHistory#EducationMatters#KnowledgeIsPower#AfricanHeritage