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

Пребарај: #suvlife

当前筛选 #suvlife清除筛选
Auto Life

@revheadcrypto · Post #362 · 21.08.2024 г., 15:12

🚙✨ Introducing the refreshed GMC Yukon! 🎉 The updated Yukon showcases a bold exterior with redesigned headlights, a striking grille, and a revamped bumper. Plus, the maximum diameter of the standard alloy wheels has increased to 24 inches! 🛞🔥 Under the hood, the powerful V8 engines remain, with 5.3L and 6.2L delivering 360 hp and 426 hp respectively. But wait, the diesel engine has been enhanced from 281 hp and 623 Nm to an impressive 309 hp and 670 Nm! 💪💨 Inside, the cabin features a completely reworked dashboard with a vertically oriented multimedia display, plus an additional 8-inch touchscreen for rear passengers! 📱🛋️ #GMCRenewed#GMCYukon#OffRoadAdventures#SUVLife#CarEnthusiasts#Auto