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

Резултати

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

Пребарај: #unrealengine5

当前筛选 #unrealengine5清除筛选
GameDev News

@gamedevnewz · Post #16 · 09.07.2024 г., 12:31

👾Why Games on Unreal Engine 5 Are Indistinguishable from Reality 🎮 Not long ago, Unreal Engine 5 was released to the public, allowing everyone to try out the new features of the engine, the main ones being the new global illumination technology, Lumen, and the Nanite rendering system, which we will discuss now. The demos and games made on Unreal Engine 5 look truly impressive; in some cases, the graphics are indistinguishable from real life. Let's take a closer look at these technologies. Lumen is a fully dynamic global illumination and reflection system designed for use in Unreal Engine 5 on next-generation gaming consoles. By default, it is the global illumination and reflection system in UE 5. Lumen allows for diffuse interreflection with infinite bounces and indirect specular reflections in large, detailed environments that can scale from millimeters to kilometers. Nanite is a micro-polygon rendering system. With it, the PC does not render each model based on the number of its polygons. Thanks to this, images are rendered with a resolution of one polygon per pixel, meaning the higher the resolution of your monitor, the higher the number of polygons (detail of the model). Although, at the moment, the combined use of these technologies causes certain problems, for example with vegetation and other thin objects (Lumen degrades the quality of foliage rendered using Nanite). Of course, lighting and rendering alone are not enough when it comes to ultra-realistic graphics. Textures and the detail of the mesh itself play a significant role as well. #GameDevelopment#UnrealEngine5