@LeagueOfLegendsLatamSur · Post #2619 · 25.02.2021 г., 19:54
#Sad
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
Пребарај: #sad
@LeagueOfLegendsLatamSur · Post #2619 · 25.02.2021 г., 19:54
#Sad
Hashtags
@ukraine_war_truth · Post #44 · 24.11.2024 г., 02:20
Ukraine has 2-7 trillion dollars of minerals that the US wants to get its hands on. Remember how at the beginning of the war Western propaganda claimed this was some righteous fight for democracy, lol? Light VS dark struggle? Well, no one is even pretending anymore - its all about the Benjamins. And if Western politicians and American and global corporations that have made hundreds of billion off of this suffering always knew that, it might be a surprise to some good-hearted people in the West who believed those lies. Show this clip to them, please. I also found a version with Ukrainian subtitles. If you have any friends from there, forward it to them too, please. So that they know what almost a million of their sons, fathers and husbands have died for - so that America can exploit their country for generations to come... #sad. Very, very sad, as the future president likes to say... Please subscribe to our channel - help share the Ukraine War Truth! Peace!
Hashtags
@Lash_gif · Post #40908 · 15.08.2023 г., 19:23
#girl | #sad clb: #other
@Lash_gif · Post #35410 · 09.01.2023 г., 16:18
#girl | #sad Clb: #other
@Lash_gif · Post #34813 · 26.11.2022 г., 07:54
#girl | #sad Clb: #other
@Lash_gif · Post #34722 · 19.11.2022 г., 07:35
#girl | #sad Clb: #other
@Lash_gif · Post #43260 · 16.01.2024 г., 02:59
#boy | #sad Clb: #other
@Lash_gif · Post #41283 · 31.08.2023 г., 17:44
#boy | #sad Clb: #other
@Lash_gif · Post #41126 · 22.08.2023 г., 11:49
#boy | #sad Clb: #other
@Lash_gif · Post #39644 · 30.06.2023 г., 08:32
#boy | #sad Clb: #other
@Lash_gif · Post #39577 · 27.06.2023 г., 07:06
#boy | #sad Clb: #other
@Lash_gif · Post #39486 · 23.06.2023 г., 06:52
#boy | #sad Clb: #other