2013-07-19 59 views
0

我有數據,如下列:如何將字符串轉換成字典在python

data = """ 
a:b,c,a 
b:c,d 
c:b 
d:c 
""" 

我想這個字符串轉換成一個像這樣的詞典:

data_dict = {'a':['b','c','a'],'b':['c','d'],'c':['b'], 'd':['c']} 

我想:

data_list = data.strip('\n').split('\n') 
data_str = ", ".join(repr(i) for i in data_list) 
data_dict = {} 

for i in range(len(data_list)): 
    keys, values = data_list[i].split(':') 
    key = keys.split('\t') 
    value = values.split('\t') 
    data_dict = dict(zip(key, value)) 
    print data_dict 

但不幸的是,我得到了:

{'a':'b,c,a'} 
{'b':'c,d'} 
{'c':'b'} 
{'d':'c'} 

任何人都可以幫我嗎?非常感謝。

回答

1

如何像:

>>> kvs = (line.split(":", 1) for line in data.strip().splitlines()) 
>>> d = {k: v.split(",") for k,v in kvs} 
>>> d 
{'a': ['b', 'c', 'a'], 'c': ['b'], 'b': ['c', 'd'], 'd': ['c']} 
+0

謝謝soooooo多!!!!有用!! – user2597888