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

Резултати

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

Пребарај: #tampines

当前筛选 #tampines清除筛选
SG MRT Updates

@sgmrt · Post #2325 · 23.04.2025 г., 00:09

[EWL] UPDATE: Please add 10 mins train travel time between #Tampines and #PasirRis, in both directions due to track point fault. Free regular bus and shuttle train services are available between #Tampines and #PasirRis. Normal train service is available for the rest of East West - SMRT

SG MRT Updates

@sgmrt · Post #2324 · 22.04.2025 г., 23:44

[EWL] UPDATE: Please add 10 mins train travel time between #Tampines and #PasirRis, in both directions due to track point fault. Free regular bus services are available between #Tampines and #PasirRis. Shuttle train service is also available between #Tampines and #PasirRis. Train - SMRT

SG MRT Updates

@sgmrt · Post #2323 · 22.04.2025 г., 23:29

[EWL]: Pls add an additional 10 mins of travelling time between #Tampines and #PasirRis. The eastbound train will turn around at #Tampines towards westbound. Free regular bus services are available between #Tampines and #PasirRis. Shuttle train service is also available between - SMRT

SG MRT Updates

@sgmrt · Post #2322 · 22.04.2025 г., 23:29

[EWL]: Pls add an additional 10 mins of travelling time between #Tampines and #PasirRis. The eastbound train will turn around at #Tampines towards westbound. Free regular bus services are available between #Tampines and #PasirRis. Shuttle train service is also available between https://bit.ly/4jEYkYR - SMRT

SG MRT Updates

@sgmrt · Post #2321 · 22.04.2025 г., 23:24

[EWL] UPDATE: Train svc is available btwn #Tampines and #PasirRis. Please add 10 mins train travel time from Tampines to Pasir Ris, towards Pasir Ris due to track point fault. Free regular bus service is available between Tampines and Pasir Ris. - SMRT