Python 如何从词典列表中获取词典

Python 如何从词典列表中获取词典,python,python-2.7,Python,Python 2.7,我对Python还不熟悉,只会做一些基本的事情 假设有一个字典列表,如下所示: [{key1:value1},{key2:value2},...{keyn:valuen}] 有没有一种解压字典的方法 {key1:value1},{key2:value2},...{keyn:valuen} 我假设你的意思是你想要{key1:value1,key2:value2,keyn:valuen}。也就是说,您希望将所有单独的字典组合成一个单独的字典,其中包含各个字典中的每个键和值 下面是我如何使用字典理

我对Python还不熟悉,只会做一些基本的事情

假设有一个字典列表,如下所示:

[{key1:value1},{key2:value2},...{keyn:valuen}]
有没有一种解压字典的方法

{key1:value1},{key2:value2},...{keyn:valuen}

我假设你的意思是你想要
{key1:value1,key2:value2,keyn:valuen}
。也就是说,您希望将所有单独的字典组合成一个单独的字典,其中包含各个字典中的每个键和值

下面是我如何使用字典理解来做到这一点:

 l = [{"key1":"value1"},{"key2":"value2"},{"keyn":"valuen"}]
 result = {k:v for d in l for k, v in d.iteritems()}

 print result # {'key2': 'value2', 'key1': 'value1', 'keyn': 'valuen'}

我假设你的意思是你想要
{key1:value1,key2:value2,keyn:valuen}
。也就是说,您希望将所有单独的字典组合成一个单独的字典,其中包含各个字典中的每个键和值

下面是我如何使用字典理解来做到这一点:

 l = [{"key1":"value1"},{"key2":"value2"},{"keyn":"valuen"}]
 result = {k:v for d in l for k, v in d.iteritems()}

 print result # {'key2': 'value2', 'key1': 'value1', 'keyn': 'valuen'}

同样的道理,也许更容易理解:

result = {}
d_list = [{"key1": "value1"}, {"key2": "value2"}, {"keyn": "valuen"}]
for d in d_list:
    for k, v in d.iteritems():
        result[k] = v

同样的道理,也许更容易理解:

result = {}
d_list = [{"key1": "value1"}, {"key2": "value2"}, {"keyn": "valuen"}]
for d in d_list:
    for k, v in d.iteritems():
        result[k] = v

我更喜欢一个不太关注字典内容级别的解决方案:untested:result=l.pop():对于l:result.update(d)中的d,我更喜欢一个不太关注字典内容级别的解决方案:untested:result=l.pop():对于l:result.update(d)中的d