1

我是 Python 的新手,并且停留在一些基本的东西上。

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

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

有没有一种提取字典的pythonic方法

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

3 回答 3

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'}
于 2012-11-29T11:09:50.603 回答
1

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

result = {}
d_list = [{"key1": "value1"}, {"key2": "value2"}, {"keyn": "valuen"}]
for d in d_list:
    for k, v in d.iteritems():
        result[k] = v
于 2012-11-29T11:36:59.420 回答
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}
于 2012-11-29T12:04:25.730 回答