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

Пребарај: #uminers

当前筛选 #uminers清除筛选

🖤Blockchain Life 2025 Sum up Dubai, Oct 23, 2024 — The 13th edition of the Blockchain Life Forum, the premier gathering for cryptocurrency leaders worldwide, recently concluded with an astounding attendance of over 12,119 participants. 😎 The forum showcased over 200 esteemed speakers, featuring industry pioneers and executives from top companies, including #OKX, #CoinMarketCap, #Bitmain, #Bybit, #Binance, #AnimocaBrands, #Circle, #BingX, #ICP, #Kraken, #TON and many more. 📱 The exhibition of crypto companies featured 125 amazingly beautiful booths. Major players such as #OKX, #Bitmain, #BingX, #KuCoin, #Bitget, #ListingHelp, and #Uminers. 🎧 As a spectacular finale to the forum, participants enjoyed the Legendary #AfterParty at one of the world’s premier clubs, SKY2.0. This informal networking event provided a platform for top industry figures to connect, complemented by a dazzling live performance from internationally celebrated artist French Montana, who thrilled over 1,200 attendees with his chart-topping hits. See you at Blockchain Life 2025! The early bird tickets and sponsorship application for Blockchain Life 2025 are already open – follow the link: https://blockchain-life.com