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

Пребарај: #boycottvalero

当前筛选 #boycottvalero清除筛选
Freedom Flotilla Coalition

@FFC_official_channel · Post #209 · 13.08.2024 г., 18:04

Cutting off oil exports to Israel could end their genocidal rampage in Gaza—but U.S. companies like Valero Energy Corporation are still profiting from the slaughter, which is a direct violation of international law, according to legal experts. In addition to our years of sailing to challenge and end the illegal and inhumane Israeli blockade of Gaza, the Freedom Flotilla Coalition is joining with the No Harbour for Genocide campaign. With these and other organisations, we are working collectively to make sure those fuel shipments are blocked and to demand accountability. Boycott companies like Valero, Texaco, Diamond Shamrock, Barclays, Norges, KLP, Nordea, BNP, Axa and many more. Every dollar counts, every supply line disrupted matters. Stand with us to stop Israel's war on Palestinians. Share this video and inform your friends. #NoHarbourForGenocide#BoycottValero#FreePalestine#ValeroEnergy#FreeGaza#WarCrimes#FFC#FreedomFlotilla⁩