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

Резултати

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

Пребарај: #steelseries

当前筛选 #steelseries清除筛选

🎧Новые беспроводные наушники SteelSeries Arctis Nova 3P уже в наличии! ▫️ Драйверы 40 мм, частотный диапазон 22 000 Hz ▫️Импеданс 36 Ω ▫️Съемный микрофон ClearCast с высокой пропускной способностью ▫️Беспроводные режимы 2.4 GHz (низкая задержка) и Bluetooth 5.3 с функцией Quick‑Switch ▫️До 40 ч работы на Bluetooth, до 30 ч через 2.4 GHz ▫️Быстрая зарядка — 15 мин дают около 9 ч воспроизведения ▫️Вес 260 г с удобным растягивающимся оголовьем и двойным шарниром ▫️Активное шумоподавление микрофона 🛒Доступны в Голубом/Фиолетовом/Черном/Белом цветах. Цена: 15.990₽ КАТАЛОГ • МЕНЕДЖЕР • #STEELSERIES

Hashtags

⚡️Коврики QCK Performance, которые вы так ждали и просили, уже в наличии! Выберите поверхность для себя: 🟡CONTROL - контроль 🔘BALANCE - баланс 🔘SPEED - скорость Доступные размеры: L (490x420) - 6.990₽ XL (900x400) - 8.490₽ ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #STEELSERIES

Hashtags

‼️Новое поколение знаменитого ковра SteelSeries QCK‼️ QCK Performance теперь доступен с тремя разными поверхностями и улучшенной подложкой высокой плотности из неопреновой резины Поверхности 🟡CONTROL - контроль 🔘BALANCE - баланс 🔘SPEED - скорость Доступен в двух размерах - L (490x420) и XL (900x400) миллиметров Видео тестов скорости в коментариях👇 ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #STEELSERIES

Hashtags

Добавили #ТЕГИ для всех постов! Теперь искать и ориентироваться стало удобнее 🔞 #КИБЕРСОРТ • #ПОДБОРКА • #ОБНОВЛЕНИЯ • #СЕТАПЫ • #ОТЗЫВЫ • #PROAIM • #UNIUS • #PULSAR • #EVOLAST • #LOGITECH • #XRAYPAD • #ARTISAN • #MADLIONS • #NINJUTSO • #ZOWIE • #WAIZOWL • #AIMSTAR • #LAMZU • #IQUNIX • #TEEVOLUTION • #WLMOUSE • #MGG • #GLSSWRKS • #TEKKUSAI • #HYPERX • #GWOLVES • #MIDORI • #PWNAGE • #IYX • #VAXEE • #STEELSERIES • #NUPHY • #UNIUS • #WALLHACK • #IPI • #ORBITAL • #MCHOSE • #UWS • #AULA • #ATK • #EGG • #SPYRE • #LUMINKEY • #SIMGOT • #MELGEEK • #FRACTAL • #SCYROX • #EPOMAKER • #WOOTING • #ZAOPIN • #CIDOO • #JAMESDONKEY • #ARBITER — Список будет расти, и именно вы можете повлиять на то, что появится в продаже — пишите свои пожелания 🙂 КАТАЛОГ • МЕНЕДЖЕР • #ОБНОВЛЕНИЯ