TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #65 · 8 апр.

Небольшой трик с регулярными выражениями который редко вижу в чужом коде. Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста. >>> 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

Резултати

Пронајдени 4 слични објави

Пребарај: #spbopen

当前筛选 #spbopen清除筛选

Тейлор Фриц 🇺🇸- рад быть в Северной столице, но еще больше будет рад видеть вас на Сибур Арене😉💯 #SPBOPEN#SPBOPEN2021#СПБОПЕН#FORMULATX#ФОРМУЛАТХ

ПЕРВЫЙ ДЕНЬ ЗАКОНЧИЛСЯ | FIRST DAY IS OVER Сегодня стартовал день квалификации, рассказываем вам об итогах: 🎾Евгений Карловский проиграл сербу Миомиру Кечмановичу со счетом — 2/6, 6/4, 6/1 🎾Роман Сафиуллин в двух сетах уступил японцу Йошихито Нишиоке со счетом 5/7, 2/6 🎾Евгений Донской одержал победу над шведом Микаэлем Имером со счетом – 6/2, 7/5 Также в КСК “Сибур Арена” был проведен детский день👧🏼👦🏻, в который входили: 🧩детская пресс-конференция с Ильей Ивашка, где ребята задали ему свои вопросы 🧩экологический квиз и аквагрим от компании ЯБерегу Это был насыщенный день! И уже завтра финал квалификации! Ждем🔥 #SPBOPEN#SPBOPEN2021#СПБОПЕН#FORMULATX#ФОРМУЛАТХ

ФОРМУЛА ТЕННИС И ХОККЕЙ ОБЪЯВЛЯЕТ ВТОРОЙ КОНКУРС ЖИВОПИСИ И ИСКУССТВА "ТЕННИС И САНКТ-ПЕТЕРБУРГ - ТЕННИСБУРГ" В ПРЕДДВЕРИИ XXVI Международного мужского теннисного турнира ATP «St.Petersburg Open 2021». ГРАНТ - 50 000 РУБЛЕЙ. *минимальное количество участников - 10 человек **призовой фонд распределяется между лучшими 5 картинами 1 МЕСТО - 17 000 2 МЕСТО - 13 000 3 МЕСТО - 10 000 4 МЕСТО - 5000 5 МЕСТО - 5000 УСЛОВИЯ УЧАСТИЯ: - РИСУНОК НА ХОЛСТЕ - ФОРМАТ НА ВЫБОР А4 ИЛИ А2 - КАРТИНА МОЖЕТ БЫТЬ НАПИСАНА МАСЛОМ ИЛИ АКВАРЕЛЬЮ - ТЕМАТИКА ПОЛОТНА ДОЛЖНА ОБЪЕДИНЯТЬ ТЕННИС И ГОРОД САНКТ-ПЕТЕРБУРГ - ОТПРАВКА КАРТИНЫ ДО 21 ОКТЯБРЯ 2021 ГОДА (по городу Санкт-Петербург за счет ФТХ по предварительному подтверждению у координатора - [email protected]) Для участия в конкурсе вам необходимо оставить свои данные В ЭТО ОБСУЖДЕНИЕ - ФИО - дата рождения - e-mail - телефонный номер НравитсяПоказать список оценивших Для участия в конкурсе вам необходимо оставить свои данные (в обсуждения группы ВК ATP ST.PETERSBURG OPEN 2021 - https://vk.com/topic-106491292_48035299) #formulatx#формулатх#spbopen2021#spbopen#конкурсхудожниковhttps://vk.com/topic-106491292_48035299