2013-03-16 63 views
0

字符串看起來是這樣的:將FIX消息解包到Python字典中的最佳方式是什麼?

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] 

這工作,但它似乎真的醜。一定會有更好的辦法。

回答

2

你喜歡這樣的:

>>> dict(p.split('=') for p in input.split('\001')) 
{'key3': 'val3', 'key2': 'val2', 'key1': 'val1', 'key4': 'val4'} 
+0

我做的。非常感謝。 – shaz 2013-03-16 22:53:22

+0

不客氣。 – piokuc 2013-03-16 22:54:00

0

或者是這樣的:

import re 
fixMsg = 'key1=val1\001key2=val2\001key3=val3\001key4=val4' 
d = dict(re.findall("(.*?)=(.*?)\001", fixMsg+'\001')) 
相關問題