2012-10-05 28 views
14
创建键值对

我有一个看起来像这样的列表:如何在列表内分割字符串在Python

[ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo'] 

而且我想通过“=”让一切都在拆分此列表左侧将成为键,右侧是值。

{ 
    'abc':'lalalla', 
    'appa':'kdkdkdkd', 
    'kkakaka':'oeoeo' 
} 

回答

32
a = [ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo'] 
d = dict(s.split('=') for s in a) 
print d 


Output: 
{'kkakaka': 'oeoeoeo', 'abc': 'lalalla', 'appa': 'kdkdkdkd'} 

http://codepad.org/bZ8lGuHE

+0

非常感谢你 – Vor

+0

不用担心,hth。 –

6
print dict([s.split("=") for s in my_list]) 

这样

>>> my_list = [ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo'] 
>>> print dict(s.split("=") for s in my_list) #thanks gribbler 
{'kkakaka': 'oeoeoeo', 'abc': 'lalalla', 'appa': 'kdkdkdkd'} 
+0

非常感谢您 – Vor

+2

除非你的Python是很老了,你可以离开了名单的理解和使用发电机表达德米安确实gribbler :)我用2.6和始终不忘我能做到这一点 –

+0

感谢..主要是因为我不能做词典理解 –

9

此外,一定要限制分流至1,以防右侧包含了一个“= ”。

d = dict(s.split('=',1) for s in a)