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 слични објави

Пребарај: #as138195

当前筛选 #as138195清除筛选
VPS简测

@vps_test · Post #733 · 31.01.2024 г., 00:43

AKILE.IO KRBGP 三网优化。上游Moack 主打一个国内速度快,稳定。适合建站。电信走cn2,移动和联通走4837,因此移动不是很合适。 直达链接(有AFF): KRBGP Starter CPU 1核 | 内存 1024 M 硬盘 10 GB | 带宽 150M 1000G/月 | 超出后限速10Mbps 重置流量 ¥20.00 IPv4 1个 | IPv6 0个 ¥288.88/年 下单链接:https://akile.io/shop/server?type=traffic&areaId=8&nodeId=61&planId=368&aff_code=a126c976-3490-4877-9b4f-84fec0f21e1f #akile#国人#韩国#isp#流媒体解锁#AS138195