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

Пребарај: #zverev

当前筛选 #zverev清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35146 · 01.09.2024 г., 08:15

🎾US Open Zverev supera a un duro Etcheverry y roza un récord nocturno del US Open#USOpen#Zverev El alemán Alexander Zverev, cuarto del ranking mundial y subcampeón del US Open en 2020, se clasificó esta madrugada para los octavos de final tras una dura batalla contra el argentino Tomas Martin Etcheverry (33º), en un duelo que empezó rozando casi la medianoche y que fue el segundo partido más tardío de la historia del torneo. A las 02.35 horas de la madrugada del viernes al sábado terminó este encuentro que, dentro de las legendarias sesiones nocturnas que son parte del ADN del 'grande' neoyorquino. Solo se quedó por detrás del emblemático duelo de cuartos de final de 2022 en el que el español Carlos Alcaraz venció en cinco sets al italiano Jannik Sinner y que acabó a las 02.50 horas de la mañana. A solo 15 minutos de superar esa marca, Zverev se impuso en tercera ronda a Etcheverry (n.33) por 5-7, 7-5, 6-1 y 6-3 en tres horas y 36 minutos. No lo tuvo nada fácil el alemán, que perdió el primer set 5-7 pero supo sobreponerse en otro segundo set durísimo por 7-5. https://www.mundodeportivo.com/tenis/20240831/1002307459/zverev-octavos-duro-duelo-etcheverry.html 🏆@Info288_deportes

Александр Зверев - чемпион Nitto ATP Finals 🇩🇪🏆 В финале турнира Зверев в двух сетах обыграл Даниила Медведева со счетом - 6/4 6/4 🙌 Поздравляем Александра с победой и желаем всегда быть на пике своих возможностей 🚀 📸 Nitto ATP Finals #формулатх#теннис#зверев#Турин#formulatx#tennis#atptour#zverev#NittoATPFinals#Turin