如何从字典列表中获取字典

时间:2012-11-29 10:45:30

标签: python python-2.7

我是Python的新手并坚持基本的东西。

请说出如下词典列表:

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

是否有提取字典的pythonic方式

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

3 个答案:

答案 0 :(得分:5)

我假设你想要{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'}

答案 1 :(得分:1)

同样的事情,或许更容易阅读:

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

答案 2 :(得分:0)

a=[{1:1},{2:2},{3:3}]

result=dict([(k,v) for x in a for k,v in x.items()])
print result //{1: 1, 2: 2, 3: 3}