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

Пребарај: #studyabdoad

当前筛选 #studyabdoad清除筛选

🇺🇿🇺🇸Biznes va tadbirkorlik oliy maktabi AQShda malaka oshirish dasturini yo‘lga qo‘ydi 🇺🇿 O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi tomonidan Amerika Qo‘shma Shtatlarida joylashgan Pittsburg davlat universiteti (Pittsburg State University) bilan hamkorlikda Inson resurslarini rivojlantirish (HRD – Human Resource Development) yo‘nalishi bo‘yicha qisqa muddatli o‘quv kurslari tashkil etildi. Mazkur dastur mamlakatimizda inson kapitalini rivojlantirish, zamonaviy boshqaruv va HR tizimlarini joriy etish, shuningdek, davlat va xususiy sektorlar uchun raqobatbardosh mutaxassislarni tayyorlashga qaratilgan. O‘quv kurslari davomida ishtirokchilar AQShning ilg‘or tajribasi, inson resurslarini boshqarish, tashkilotlarda samaradorlikni oshirish, yetakchilik va menejmentning zamonaviy yondashuvlari bilan tanishadilar. Dasturda Oliy biznes maktabi tinglovchilari, shuningdek, davlat va xususiy sektor vakillari ishtirok etmoqdalar. Ular Pittsburg davlat universitetining professor-o‘qituvchilari bilan bevosita muloqotda bo‘lib, amaliy mashg‘ulotlar va seminarlar orqali o‘z bilim va ko‘nikmalarini yanada mustahkamlash imkoniyatiga ega bo‘ladilar. Ushbu tashabbus O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabining xalqaro hamkorlikni kengaytirish, ilg‘or xorijiy tajribani o‘rganish va uni mamlakatimiz ta’lim hamda iqtisodiyot sohalariga joriy etish borasidagi sa’y-harakatlarining amaliy ifodasidir. 🇷🇺RU #GSBE#USA#PSU#HRD#StudyAbdoad#BusinessEducation 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube