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

Пребарај: #cbnu

当前筛选 #cbnu清除筛选

🇺🇿🇰🇷Janubiy Koreyaning Chungbuk milliy universiteti vakillari bilan uchrashuv bo‘lib o‘tdi 🇺🇿 Biznes va tadbirkorlik oliy maktabi hamda Janubiy Koreyaning Chungbuk milliy universiteti vakillari bilan uchrashuv bo‘lib o‘tdi. Uchrashuvda Oliy biznes maktabi direktor o‘rinbosari B. Xolboyev hamda Chungbuk milliy universiteti xalqaro aloqalar bo‘limi dekan o‘rinbosari, professor A. Nasriddinov ishtirok etdi. 🎓 Muzokaralar davomida tomonlar ikki ta’lim muassasalari faoliyati bilan yaqindan tanishib, hamkorlikni yo‘lga qo‘yish va rivojlantirish istiqbollari bilan bog‘liq masalalar bo‘yicha muhokama olib bordilar. ✅ Xususan, tinglovchilar almashinuvi (student exchange), 1+1 formatidagi qo‘shma magistratura dasturlarini amalga oshirish, shuningdek, akademik hamkorlikning boshqa salohiyatli yo‘nalishlari bo‘yicha hamkorlik imkoniyatlarini muhokama qildilar. 🔴 Yakunda tomonlar kelgusidagi hamkorlikni rivojlantirish yo‘nalishlari va yangi tashabbuslarni muhokama qilib, akademik aloqalarni kengaytirishdan o‘zaro manfaatdor ekanliklari bildirildi. 🇷🇺RU 🇬🇧ENG #GSBE#GraduateSchool#CBNU#Masterstudy#DualDegree 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube