@instavine · Post #935 · 22.12.2016 г., 14:00
Culture Cooking! 🍳🔥😂 ---------------------- #kingbach w/ #trackabangbang
Hashtags
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
Пребарај: #trackabangbang
@instavine · Post #935 · 22.12.2016 г., 14:00
Culture Cooking! 🍳🔥😂 ---------------------- #kingbach w/ #trackabangbang
Hashtags
@instavine · Post #916 · 07.12.2016 г., 15:19
When your friend helps you get the guy 😈😂 -------------------- #lelepons w/ #hannahstocking@eljuanpazurita VFX by #Trackabangbang -------------------- @instavine
@instavine · Post #1211 · 01.07.2017 г., 14:00
Never pull over a magician 🎩❤️ ----------- #lelepons w/ #eljuanpazurita#trackabangbang
@instavine · Post #913 · 05.12.2016 г., 14:00
When your friend says they're fine when they're not 😳😡 ---------------- #lelepons w/ #hannahstocking#inanna🎥: #trackabangbang
@instavine · Post #1042 · 15.02.2017 г., 15:05
VALENTINE'S DAY: CUPID RETURNS ------- День Валентина: Возвращение Купидона ------- #curtislepore w/ #amandacerny, #thegregfurman Directed & VFX by #trackabangbang
@instavine · Post #1010 · 30.01.2017 г., 15:00
Never trust a robber 😳🙈 ----------------- Никогда не доверяй вору 😳🙈 ----------------- #lelepons w/ #raydiaz#trackabangbang#unomagnetic ----------------- @instavine
@instavine · Post #1174 · 09.05.2017 г., 11:50
When you're thirsty AF 😂😍💦💦 ------------ #curtislepore w/ #therachelraquel#justsul#trackabangbang
@instavine · Post #1056 · 24.02.2017 г., 14:00
When she says "look me in the eyes" 👀 ------------- Когда она говорит "посмотри в мои глаза" -------------- #piques w/ #oliviasui#maestroharrell🎥/VFX: #trackabangbang
@instavine · Post #919 · 09.12.2016 г., 15:08
That friend who has your back no matter what 😳😂 ------------------- #lelepons w/ #hannahstocking#inanna#sebastiangenta🎥 & VFX by #trackabangbang ------------------- @instavine
@instavine · Post #1066 · 01.03.2017 г., 14:00
IF YOU HAD SUPERPOWERS! 💫 ---------- ЕСЛИ БЫ У ТЕБЯ БЫЛИ СУПЕРСИЛЫ! ---------- #loganpaul w/ #trackabangbang, #amandacerny, #georgejanko#markdohner ---------- @instavine