如何在列表中拆分字符串以在Python中创建键值对

Vor*_*Vor 17 python string

我有一个如下所示的列表:

[ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo']
Run Code Online (Sandbox Code Playgroud)

我想用'='拆分这个列表,这样左边的所有东西都会成为键,而右边的值就是值.

{ 
    'abc':'lalalla',
    'appa':'kdkdkdkd',
    'kkakaka':'oeoeo'
}
Run Code Online (Sandbox Code Playgroud)

Dem*_*cht 43

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


Output:
{'kkakaka': 'oeoeoeo', 'abc': 'lalalla', 'appa': 'kdkdkdkd'}
Run Code Online (Sandbox Code Playgroud)

http://codepad.org/bZ8lGuHE


use*_*529 12

此外,如果右侧包含'=',请确保将拆分限制为1.

d = dict(s.split('=',1) for s in a)
Run Code Online (Sandbox Code Playgroud)


Jor*_*ley 6

print dict([s.split("=") for s in my_list])
Run Code Online (Sandbox Code Playgroud)

像这样

>>> 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'}
Run Code Online (Sandbox Code Playgroud)

  • 除非你的python非常老,否则你可以将列表理解保留下来并使用Demian所做的生成器表达式 (2认同)