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

Резултати

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

Пребарај: #27feb

当前筛选 #27feb清除筛选

Ахборот 24 | Обсуждены вопросы развития промышленности, инфраструктуры и туризма в городе Ташкенте #27feb#uzbekiston24 mtrk.uz | Youtube | Facebook | Telegram | uztv.tv | TV-dastur

O'zLiDeP - Toshkent viloyati

@uzlidep_toshkentv · Post #11152 · 28.02.2024 г., 16:23

Давлат дастури: тараққиёт йўлидаги комплекс чора-тадбирлар #27feb#uzbekiston24 O‘zLiDeP Сиёсий Кенгаши Ижроия қўмитаси ва Олий Мажлис Қонунчилик палатасидаги партия фракциясининг кенгайтирилган қўшма мажлиси бўлиб ўтди. Унда “Ўзбекистон – 2030” стратегиясини “Ёшлар ва бизнесни қўллаб-қувватлаш йили”да амалга оширишга оид давлат дастури тўғрисида”ги Президент Фармонидан келиб чиқувчи O’zLiDeP ва унинг фракцияси олдида турган долзарб вазифалар муҳокама қилинди. Унда Давлат дастурида белгиланган вазифаларнинг барчаси халқимизнинг ҳаёт даражасини янада яхшилаш, тадбиркорликни жадал ривожлантириш, бандликни таъминлаш ва камбағалликни қисқартириш, мамлакатимизнинг халқаро майдондаги нуфузи ошишига хизмат қилиши таъкидланди. #uzlidep#davlatdasturi ➖O'zLiDeP Toshkent viloyat Kengashi rasmiy kanali ➖