Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> text = '''
>>> Alex:8999123456
>>> Mike:+799987654
>>> Oleg:+344456789
>>> '''
Соответственно, для выделения нужных элементов будем использовать группы. Получится такой паттерн:
(\w+):([\d+]+)
Как мы будем формировать словарь из найденных групп?
>>> import re
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append({
>>> "name": match.group(1),
>>> "phone": match.group(2)
>>> })
>>> print(results)
[{'name': 'Alex', 'phone': '8999123456'}, ...]
Можно немного сократить запись используя zip
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append(dict(zip(['name', 'phone'], match.groups())))
Но есть способ лучше! Это именованные группы в regex. Можно в паттерне указать имя группы и результат сразу забрать в виде словаря.
>>> for match in re.finditer(r"(?P<name>\w+):(?P<phone>[\d+]+)", text):
>>> results.append(match.groupdict())
То есть всё что я сделал, это добавил в начале группы (внутри сбокочек) такую запись:
(?P<group-name>...)
Теперь найденная группа имеет имя и можно обратиться к ней как к элементу списка
>>> name = match['name']
Либо забрать сразу весь словарь методом groupdict()
>>> match.groupdict()
#tricks#regex
Various Artists — Buddhist Chant 2: Various Rituals (Music Of Man Archive, 1993)
#traditional#buddhist#chanting#Sri_Lanka
Небольшие буддийские ритуалы, записанные Вольфгангом Лааде на Шри-Ланке между 1976 и 1979 годом. Лааде путешествовал по острову и задокументировал пение монахов в городе Канди и деревне Махена.
Вокальный стиль, в котором исполнены эти ритуалы, характерен для города Анурадхапура. Песнопения включают в себя прославление Будды, его проповеди и буддийские сутры.
🔗Telegram | VK
Various Artists — Buddhist Chant 1: Maha Pirit (Music Of Man Archive, 1990)
#traditional#buddhist#chanting#sinhalese#Sri_Lanka
Записей традиционной музыки сингалов, индоарийского народа Шри-Ланки, существует крайне мало, а записи сингальских буддистских церемоний — еще меньше. В 1979 году Вольфганг Лааде попытался восполнить этот пробел. Он записал ритуал, проведённый десятью монахами в доме, где годом ранее скончался сын хозяина.
Опубликованный материал в основном вокальный и отражает начало многочасовой ночной церемонии «Маха Пирит».
🔗Spotify | AppleMusic | Telegram | VK
Tibetan Monks of Maitri Vihar — Om Mani Padme Hum (Polyglobe Music, 1999)
#traditional#buddhist#throat_singing#chanting#damaru#gong#kangling#lag_na#rolmo#shang#silnyen#tingsha#Tibet#Nepal
Альбом назван в честь одной из центральных мантр тибетского буддизма — «ом мани падме хум», связанной с бодхисаттвой Авалокитешварой (अवलोकितेश्वर). Однако содержание записи посвящено другому божеству — Ямантаке (यमान्तक).
Ямантака (यमान्तक) — яростная форма бодхисаттвы Манджушри (मञ्जुश्री),олицетворяющего праджняпарамиту (प्रज्ञपारमिता), то есть высшую мудрость. Ямантаку изображают многоруким, с несколькими головами и лицом буйвола, но внушающий ужас облик создан не ради устрашения. Он символизирует беспощадную борьбу с внутренними иллюзиями. Ярость Ямантаки порождена не злобой, а безусловной решимостью устранить все препятствия на пути к просветлению.
Альбом запечатлевает фрагменты традиционной ритуальной церемонии. Песнопения исполнены монахами монастыря Майтри Вихар, расположенного в Сваямбунатхе — одном из важнейших храмовых комплексов тибетского буддизма в Непале. Завершающая композиция — полностью инструментальная.
Музыкальная традиция, которой следуют монахи Майтри Вихар, восходит к добуддийской религии Бон. В ней уже существовали ритуалы с горловым пением, поющими чашами, трубами и цимбалами. Эти элементы впоследствии были интегрированы в буддийскую практику.
🔗Spotify | AppleMusic | VK | Telegram