字符串到字典,键是以“。”结尾的单词。

rau*_*aul 2 python dictionary

我有一个字符串,其中包含稍后在代码中需要使用的信息,并且我想通过以下方式从字符串中创建字典。

该字符串的键以“。”结尾。

我想要一个像这样的字符串:

"Mem. 3000 GB Nm. Mario Andrew Ag. 34 Str. Photoliss Street Nr. 45B"
Run Code Online (Sandbox Code Playgroud)

成为这个命令:

{"Mem": "3000 GB", "Nm": "Mario Andrew", "Ag": "34", "Str": "Photoliss Street", "Nr": "45B"}
Run Code Online (Sandbox Code Playgroud)

键与字符串之间可以不同,因此它不遵循模板。

Rak*_*esh 6

尝试使用正则表达式。

例如:

import re

s = "Mem. 3000 GB Nm. Mario Andrew Ag. 34 Str. Photoliss Street Nr. 45B"
data = re.split(r"(\w+)\.", s)[1:]

print({k: v.strip() for k, v in zip(data[::2], data[1::2])})
print(dict(zip(data[::2], data[1::2])))
Run Code Online (Sandbox Code Playgroud)

输出:

{'Mem': '3000 GB', 'Nm': 'Mario Andrew', 'Ag': '34', 'Str': 'Photoliss Street', 'Nr': '45B'}
Run Code Online (Sandbox Code Playgroud)