0

字符串看起来像这样:

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]

这行得通,但看起来真的很难看。肯定有更好的办法。

4

2 回答 2

4

你喜欢吗:

>>> dict(p.split('=') for p in input.split('\001'))
{'key3': 'val3', 'key2': 'val2', 'key1': 'val1', 'key4': 'val4'}
于 2013-03-16T22:19:00.423 回答
0

或者是这样的:

import re
fixMsg = 'key1=val1\001key2=val2\001key3=val3\001key4=val4'
d = dict(re.findall("(.*?)=(.*?)\001", fixMsg+'\001'))
于 2013-03-16T22:31:30.303 回答