Регулярные выражения как правильно соотнести соответсвуюшие значения для ключа указанного ранее перед самим значением
Есть такое выражение где сначала идет имя параметра/ключа, а потом его значение через пробел
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