2012-10-05 32 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)