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

Пребарај: #onestopservice

当前筛选 #onestopservice清除筛选

የድሬ መሶብ የአንድ ማዕከል አገልግሎት የዲጂታል ትራንስፎርሜሽን ጉዞውን እያፋጠነ ነው - ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) *************************** የድሬ መሶብ የአንድ ማዕከል አገልግሎት የዲጂታል ትራንስፎርሜሽን ጉዞውን እያፋጠነ እንደሚገኝ ጠቅላይ ሚኒስትር ዐቢይ አሕመድ (ዶ/ር) ገለፁ፡፡ ጠቅላይ ሚኒስትሩ በማህበራዊ ትስስር ገፃቸው ባጋሩት መልእክት፤ በድሬዳዋ አስተዳደር የሚገኘው የድሬ መሶብ የአንድ ማዕከል አገልግሎት፣ 10 የተለያዩ ተቋማትን በአንድ ጥላ ስር በማስተናገድ 73 የሚደርሱ አገልግሎቶችን ለዜጎች በተቀላጠፈ መልኩ በመስጠት ላይ ይገኛል ብለዋል። ማዕከሉ ተገልጋዮችን በዘመናዊ መንገድ ለማስተናገድ እንዲያስችለው 96 ካውንተሮች እንዲኖሩት ተደርጎ መደራጀቱን ገልጸው፤ ስራ በጀመረባቸው በመጀመሪያዎቹ ስድስት ወራት ውስጥ ብቻ ከ23 ሺህ በላይ ተገልጋዮችን ተቀብሎ በማስተናገድ ውጤታማነቱን በተግባር ማሳየቱን ጠቅሰዋል። ይህ ተቋም አገልግሎት አሰጣጡን ይበልጥ ለማዘመን የጀመረውን የተቀላጠፈ የዲጂታል አሰራር በስፋት ተግባራዊ ለማድረግ አቅዶ እየሰራ እንደሚገኝም አመልክተዋል። #ድሬዳዋ#ድሬመሶብ#የአንድማዕከልአገልግሎት#ዲጂታልኢትዮጵያ#DireDawa#OneStopService#DigitalTransformation#Ethiopia