Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
📱Top Social Networking Apps Worldwide by Downloads
May 2019
The most downloaded social networking app worldwide for May 2019 was #Facebook with more than 60.6 million installs. The markets with the most new Facebook installs during this period were India at 24% of total downloads, followed by Indonesia🇮🇩 at 12% and Brazil🇧🇷 at 8%.
#TikTok was the second most installed social networking app worldwide last month with close to 56 million installs, with the largest portion of those coming from India🇮🇳 at 57%, followed by China🇨🇳 at 8%. #Snapchat, #Instagram and, #Likee rounded out the top five most installed social networking apps worldwide for the month.
🔗 Read more on SensorTower.
🚀@PerspectiveIX
📡Pulse: Every Sunday.
❓What's you current favourite social networking app? Share it in the Comments.
📊Top Social Media Apps Worldwide for February 2020 by Downloads
#TikTok was the most downloaded social media app worldwide for February 2020 with 112.8 million installs, which represented a 96.2% YoY increase.
The countries with the most downloads of the app during this period were India 🇮🇳 at 41.3% of its total installs and Brazil 🇧🇷 at 8.6%.
#Facebook was the second most installed #SocialMedia app worldwide last month with 57 million downloads, which represented a nearly 8% increase from February 2019.
The countries with the largest number of Facebook installs were India 🇮🇳 at 23.8%, followed by Brazil 🇧🇷 at 9%.
#Instagram, #Likee, and #Snapchat rounded out the top five most downloaded social media apps worldwide for the month.
🦅@PerspectiveIX via SensorTower.
📱Top Social Media Apps Worldwide by Downloads
Q2 2019
#Facebook was the most downloaded #SocialMedia app worldwide for 2Q19 with close to 174 million installs.
#TikTok was the second most installed social media app worldwide last quarter with more than 156 million installs. #Instagram, #Snapchat, and #Likee rounded out the top five most installed social media apps worldwide for the quarter.
🔗 Read more on SensorTower.
❗️ Check our Instagram Stories!
🦅@PerspectiveIX
¿Qué puede hacer este bot?
@AllSavesBot
Descarga fotos, videos y audio de:
Instagram, YouTube, Facebook, TikTok, Pinterest, Twitter y Likee
Idiomas: Inglés, Ruso
#descarga#videos#fotos#audio#instagram#facebook#tiktok#pinterest#twitter#likee
(Visto en @BotsGram_Cu)
На расширенном заседании IT-Комитета ГД обсудили статус выполнения требований закона о «приземлении» IT-гигантов
⠀
Всего 13 компаний, которые попадают под требование закона. И уже большинство из них приступили к «приземлению». #Apple и #Spotify выполнили это требование, а #Wargaming и #AliExpress уже даже открыли представительства на территории РФ. В ходе заседания Комитета #TikTok, #Likee и #Viber также объявили о создании полноценных российских юрлиц, #Zoom тоже сообщил о начале процедуры «приземления».
⠀
Напомню, что закон о «приземлении» IT-гигантов позволит компаниям поддерживать российских пользователей, предоставляя возможность выражать свою точку зрения в рамках соблюдения законов внутри страны.
⠀
С целью ускорения процедуры Комитет подготовил поправки в Кодекс РФ об административных правонарушениях, которые устанавливают ответственность за «неприземление», а также за нарушение установленных ограничений – на рекламу, на сбор персональных данных.
⠀
Тем не менее ряд компаний до сих пор не выполнили ни одного пункта требований, и это: #Google, #Meta, #Discord, #Pinterest, #Twitch и #Telegram. Надеюсь, что конструктивный и живой диалог поможет развеять сомнения компаний и побудит приступить к соответствующим действиям.