2014-05-10 147 views
-1

有按以下格式Python列表分成字典

mylist = [u'Name:', u'John', , u'Doe', u'Address:', u'Washington Street ', u'Chicago'] 

Python列表有':'就在鍵結束,在這種情況下NameAddress。 新字典應該是這樣的:

newdict = { 
'Name': '["John", "Doe"]', 
'Address': '["Washington Street", "Chicago"]', 
} 

回答

0

雖然不一定直觀的使用itertools.groupby這一點,你可以利用它是如何工作的優勢:

res = {} 
for iskey, it in groupby(mylist, lambda s: s.endswith(':')): 
    if iskey: 
     for k in it: 
      key = k[:-1] 
      res[key] = [] 
    else: 
     res[key].extend(it) 

res 
=> {u'Address': [u'Washington Street ', u'Chicago'], u'Name': [u'John', u'Doe']} 
+0

這個作品! – bobsr