字符串如下所示:
input = 'key1=val1\001key2=val2\001key3=val3\001key4=val4'
其中\ 001是分隔符
message = {}
呃......现在怎么样?我知道我可以做点什么
my_list = imput.split('\001')
my_dict = {}
for pair in my_list:
tup = pair.split('=')
my_dict[tup[0]] = tup[1]
这有效,但看起来真的很难看。必须有更好的方法。
答案 0 :(得分:2)
>>> dict(p.split('=') for p in input.split('\001'))
{'key3': 'val3', 'key2': 'val2', 'key1': 'val1', 'key4': 'val4'}
答案 1 :(得分:0)
或类似的东西:
import re
fixMsg = 'key1=val1\001key2=val2\001key3=val3\001key4=val4'
d = dict(re.findall("(.*?)=(.*?)\001", fixMsg+'\001'))