26

次のようなリストがあります。

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

そして、このリストを「=」で分割して、左側のすべてがキーになり、右側が値になるようにします。

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

5 に答える 5

54
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

于 2012-10-05T05:18:29.987 に答える
13

さらに、右側に「=」が含まれている場合に備えて、分割を 1 に制限してください。

d = dict(s.split('=',1) for s in a)
于 2013-01-03T21:18:56.187 に答える
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'}
于 2012-10-05T05:17:19.963 に答える
1

map関数を使用した例

a = ["abc=lalalla", "appa=kdkdkdkd", "kkakaka=oeoeoeo"]
d = dict(map(lambda s: s.split('='), a))
于 2019-10-25T10:51:02.150 に答える