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

Резултати

Пронајдени 99 слични објави

Пребарај: #playoffs25

当前筛选 #playoffs25清除筛选

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 7️⃣ ⏰ 8:00 PM ET 🛰 Dodgers 🆚 Blue Jays 🐦 [3-3] 🔵 Shohei Ohtani 🆚 Max Scherzer 😎 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 6️⃣ ⏰ 8:00 PM ET 🛰 Dodgers 🆚 Blue Jays 🐦 [2-3] 🔵 Yoshinobu Yamamoto 🆚 Kevin Gausman 🐦 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 ️️𝟱 ⏰ 8:00 PM ET 🐦 Blue Jays 🆚 Dodgers 🛰 [2-2] 🧢 Trey Yesavage 🆚 Blake Snell 🔵 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 ️️𝟰 ⏰ 8:00 PM ET 🐦 Blue Jays 🆚 Dodgers 🛰 [1-2] 💂‍♀️ Shane Bieber 🆚 Shohei Ohtani 🔵 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 𝟯 ⏰ 8:00 PM ET 🐦 Blue Jays 🆚 Dodgers 🛰 [1-1] 😎 Max Scherzer 🆚 Tyler Glasnow 🔵 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 𝟮 ⏰ 8:00 PM ET 🛰 Dodgers 🆚 Blue Jays 🐦 [0-1] 🔵 Yoshinobu Yamamoto 🆚 Kevin Gausman 🐦 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗦𝗲𝗿𝗶𝗲 𝗠𝘂𝗻𝗱𝗶𝗮𝗹 𝗝𝘂𝗲𝗴𝗼 𝟭 ⏰ 8:00 PM ET 🛰 Dodgers 🆚 Blue Jays 🐦 [0-0] 🔵 Blake Snell 🆚 Trey Yesavage 🧢 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗔𝗟𝗖𝗦 𝗝𝘂𝗲𝗴𝗼 7️⃣ ⏰ 8:03 PM ET 🔱 Mariners 🆚 Blue Jays 🐦 [3-3] 🔱 George Kirby 🆚 Shane Bieber 💂‍♀️ #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗔𝗟𝗖𝗦 𝗝𝘂𝗲𝗴𝗼 𝟲 ⏰ 8:03 PM ET 🔱 Mariners 🆚 Blue Jays 🐦 [3-2] 🔱 Logan Gilbert 🆚 Trey Yesavage 🧢 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢𝗦 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗔𝗟𝗖𝗦 𝗝𝘂𝗲𝗴𝗼 𝟱 - 𝗡𝗟𝗖𝗦 𝗝𝘂𝗲𝗴𝗼 ️️𝟰 ⏰ 6:08 PM ET 🐦 Blue Jays 🆚 Mariners 🔱 [2-2] 🐦 Kevin Gausman 🆚 Bryce Miller 🔱 ⏰ 8:33 PM ET 🍺 Brewers 🆚 Dodgers 🛰 [0-3] ❓ Sin definir 🆚 Shohei Ohtani 🔵 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

🗓🔞 𝗝𝗨𝗘𝗚𝗢𝗦 𝗗𝗘 𝗣𝗟𝗔𝗬𝗢𝗙𝗙𝗦 𝗗𝗘 𝗛𝗢𝗬 🔞🔥 🏆 𝗔𝗟𝗖𝗦 𝗝𝘂𝗲𝗴𝗼 𝟰 - 𝗡𝗟𝗖𝗦 𝗝𝘂𝗲𝗴𝗼 𝟯 ⏰ 6:08 PM ET 🍺 Brewers 🆚 Dodgers 🛰 [0-2] 🧢 Aaron Ashby 🆚 Tyler Glasnow 🔵 ⏰ 8:33 PM ET 🐦 Blue Jays 🆚 Mariners 🔱 [1-2] 😎 Max Scherzer 🆚 Luis Castillo 🔱 #️⃣#PlayOffs25 🗞 | t.me/MLB_Daily

Hashtags

123•••89
ПретходнаСтраница 1 од 9Следна