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

Резултати

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

Пребарај: #campesinado

当前筛选 #campesinado清除筛选

🪖 Un 25 de mayo de 1919, tuvo lugar en la Plaza Roja de Moscú el primer desfile de las unidades del Vsevobuch (entrenamiento militar general de los ciudadanos). Ante los participantes del desfile, Vladímir Lenin pronunció un discurso sobre el papel de la clase obrera en la defensa de la patria socialista y la importancia internacional del Estado soviético. 👴 “Cuando miramos este desfile —decía Vladimir Ilich—, nos convencemos de que el poder soviético ha ganado la simpatía de los trabajadores de todos los países, y que en lugar de una guerra internacional se establecerá una unión fraternal de las repúblicas soviéticas internacionales”. Descubre más sobre Lenin aquí 👉https://t.me/vamosarusia/2243 #HistoriaRusa#Lenin#RevoluciónRusa#Socialismo#Campesinado Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia