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

Пребарај: #catixs

当前筛选 #catixs清除筛选
Host Testing and evaluation

@HostEvaluate · Post #786 · 12.06.2022 г., 14:21

#Catixs#JP#HND#HK#US#LAX#UK#LON HostProvider: Catixs Location: Tokyo, Japan Specification: 2vCore (Intel Xeon Silver 4210) | 2GB RAM | 48GB NVMe | 3TB @ 5Gbps | $24 / Month 日本 CDN77 的大带宽 VPS. 测的时候三网 NTT. https://paste.red/p/cdd8057fbc09 Location: Hongkong Specification: 2vCore (Intel Xeon E5-2690 v4) | 2GB RAM | 48GB NVMe | 3TB @ 5Gbps | $18 / Month 三网 NTT 的香港。 https://paste.red/p/38540e1266ca Location: Los Angeles, US Specification: 2vCore (AMD EPYC 7302P) | 2GB RAM | 24GB NVMe | 3TB @ 5Gbps | $18 / Month Hivelocity 机房 Digital Realty 机房,出栈网络走 Hivelocity。电信移动 level3, 联通 level3/HE https://paste.red/p/ae855257c8e8 Location: London, UK Specification: 2vCore (Intel Xeon E5-2650 v2) | 2GB RAM | 48GB NVMe | 3TB @ 5Gbps | $18 / Month 可以看 BBC(测试时). zare 在英国境内和欧美还是很好的。电信联通回程 cogent, 移动 telia. https://paste.red/p/4ab35e224c34 综合来看 LA 的性能是最好的 Edit: 补一个日本的 流媒体解锁报告