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

Пребарај: #bandgap

当前筛选 #bandgap清除筛选

Опубликована новая статья 🟣 2024 🟣 V. 11 🟣 Issue 2 🟣 Art. 202411207 🟣 Letter 🟣 📜 Features of electronic states in the vicinity of band gap and atomic structure of Ta- and Nb-doped Li7La3Zr2O12 👩‍🎓👨‍🎓 M. I. Vlasov (http://orcid.org/0000-0002-7814-7489), E.A. Surzhikov (http://orcid.org/0009-0005-3466-6374), A.Yu. Germov (http://orcid.org/0000-0001-6091-1250), E.A. Il'ina (http://orcid.org/0000-0003-1759-5234), I.A. Weinstein (http://orcid.org/0000-0002-5573-7128) 🏛 Institute of High Temperature Electrochemistry of the Ural Branch of the Russian Academy of Sciences, https://ihte.ru/?page_id=3106 🏛 Ural Federal University, https://urfu.ru/en 🏛 M.N. Mikheev Institute of Metal Physics of the Ural Branch of the Russian Academy of Sciences, https://www.imp.uran.ru/?q=en 🏛 Institute of Metallurgy of the Ural Branch of the Russian Academy of Sciences, http://www.imet-uran.ru 📚#Li7La3Zr2O12#Ta#Nb#doping#bandgap#oxygen#vacancies 🔗https://doi.org/10.15826/chimtech.2024.11.2.07 https://journals.urfu.ru/index.php/chimtech/article/view/7692