从如下所示的字符串构建字典的最佳方法是什么:
"{key1 value1} {key2 value2} {key3 {value with spaces}}"
所以键始终是不带空格的字符串,但值是字符串或大括号中的字符串(有空格)?
你会如何把它写成:
{'key1': 'value1', 'key2': 'value2', 'key3': 'value with spaces'}
import re
x="{key1 value1} {key2 value2} {key3 {value with spaces}}"
print dict(re.findall(r"\{(\S+)\s+\{*(.*?)\}+",x))
你可以试试这个。
Output:
{'key3': 'value with spaces', 'key2': 'value2', 'key1': 'value1'}
这里与re.findall
我们提取key
和它的value
.re.findall
返回包含所有键、值对的元组的列表。使用dict
元组列表提供了最终答案。在这里阅读更多内容。 https://docs.python.org/2/library/stdtypes.html#mapping-types-dict
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)