我需要以某种方式将字符串转换为字典
str1 = "00001000-0009efff : a 00100000-656b2fff : b"
输出我需要的是
dict1 = {'a':['00001000','0009efff'], 'b':['00100000','656b2fff']}
注意:str1
可以有更多,例如带有范围的 c
、d
、e
。
最佳答案
您可以使用正则表达式来做到这一点:
import re
pattern = r'([\w\-]+) : ([\w\.]+)'
out = {m[1]: m[0].split('-') for m in re.findall(pattern, str1)}
正则表达式的解释:
- 匹配字母数字字符和破折号的组合
[\w-]+
- 后跟一个空格、一个冒号和一个空格
_:_
- 后跟字母数字字符和点的组合
[\w\.]+
这些群组正在获取您的相关信息。
关于python - 如何以必须从同一字符串中提取键和值的方式将字符串转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72151665/