Регулярные выражения как правильно соотнести соответсвуюшие значения для ключа указанного ранее перед самим значением

Есть такое выражение где сначала идет имя параметра/ключа, а потом его значение через пробел

str = "High_Level 1.18512 lowlevel 1.16504"

Как должно быть:

High_Level =  1.18512
lowlevel   =  1.16504

Ответы (2 шт):

Автор решения: GrAnd

Словарь пойдёт в качестве "переменных"?

s = "High_Level 1.18512 lowlevel 1.16504"
v = dict((k, float(v)) for k,v in zip(*[iter(s.split())]*2))
print(v)
{'High_Level': 1.18512, 'lowlevel': 1.16504}
→ Ссылка
Автор решения: Andy Pavlov

Могу предложить подобный способ создания словаря через регулярные выражения, когда ищем текстовую часть для создания ключа словаря и, через пробел, соответствующее ему значение в виде десятичного числа.

import re

str_ = "High_Level 1.18512 lowlevel 1.16504"

d = dict(re.findall('(\w+)\s*(\d+\.\d+)', str_))
# {'High_Level': '1.18512', 'lowlevel': '1.16504'}

Также советую не называть переменные в виде зарезервированных слов, таких как str

→ Ссылка