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 に答える