Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
🚘 Cybercab announced: Elon Musk’s robotaxi is finally here
📍 Tesla boss Elon Musk has unveiled the firm's long-awaited robotaxi, the Cybercab, at the Warner Bros Studios in Burbank, California.
🚕 The robotaxi is a purpose-built autonomous vehicle, lacking a steering wheel or pedals, meaning it will need approval from regulators before going into production. The design was futuristic, with doors that open upward like butterfly wings and a small cabin with only enough space for two passengers. There was no steering wheel or pedals, nor was there a plug — Musk said the vehicle charges inductively to regain power wirelessly.
🚐 In a surprise, the company also revealed a "robovan," a self-driving van capable of carrying up to 20 passengers or being configured for cargo purposes.
🪙 Musk said that autonomous cars are expected to be 10–20 times safer than human-driven vehicles and could cost as little as 20 cents per mile, compared to the $1 per mile for city buses.
@CarsNews
#Tesla#driverless
New 🚘 electric cars will get Chinese autopilot
It will be developed by startup Momenta and will debut on the CLA electric sedan. The hardware will be based on Nvidia's Orin X chip.
The all-electric CLA will be equipped with a high-level intelligent driving system that does not rely on high-definition maps. This advanced system will provide navigation in the city, and mass production of the electric car is scheduled for April 2025.
Mercedes-Benz is one of Momenta's investors, along with GM and SAIC.
@CarsNews
#Mercedes#EV#driverless
🚕Waymo robotaxis are back at the center of a scandal
📍 This time, the vehicles caused chaos on the streets of San Francisco.
🚥 The autonomous taxis use the traffic-light system for navigation, so when it goes down, route planning breaks as well.
⛔ For several hours, Waymo cars stood on the roads like bricks, blocking other drivers from getting through.
Is rise of the the machines beginning?
#driverless#incidents@Car_News
😰Three Waymo robotaxis caused a “standoff” and blocked a street in San Francisco
📰 In the northern part of San Francisco, three Waymo autonomous taxis got stuck on a narrow street, completely blocking traffic. Two cars lightly collided while trying to maneuver, after which both went into emergency mode, and the third stopped right in front of them, creating a full traffic jam.
😤 Because of this, residents couldn’t leave their driveways and had to wait for company engineers to intervene and resolve the situation. All vehicles were empty — no passengers were inside.
💬 Waymo commented on the incident, calling it a “learning moment” for improving their autonomous driving system.
#driverless#incidents@Car_News