如何从单个词典创建词典列表?

时间:2018-11-01 18:35:06

标签: python list dictionary

如何将词典列表变成单个词典?

例如,假设我的初始列表为:

Dictionary_list = [{key:value}, {key2:value2}, {key3:value3}]

我需要这样的结果字典:

New_dictionary = {key:value, key2:value2, key3:value3}

3 个答案:

答案 0 :(得分:3)

您可以使用字典理解来实现此目的:

text-align: right

注意:如果您的初始词典列表中的多个词典中都包含“键”,则上述解决方案最终将保留初始列表中“键”的最后一个“值”

答案 1 :(得分:3)

另一种解决方案是创建一个空字典并更新它:

>>> my_list = [{'key':'value'}, {'key2':'value2'}, {'key3':'value3'}]
>>> my_dict = {}
>>> for d in my_list: my_dict.update(d)
...
>>> my_dict
{'key': 'value', 'key2': 'value2', 'key3': 'value3'}

通常,update() method很有用,通常在您要创建包含连续字典变量的“环境”时。

答案 2 :(得分:2)

函数式编程答案:

from functools import reduce # depending on version of python you might need this. 

my_list = [{'key':'value'}, {'key2':'value2'}, {'key3':'value3'}]
def func(x,y):
    x.update(y)
    return x
new_dict = reduce(func, my_list)

>>> new_dict
{'key': 'value', 'key2': 'value2', 'key3': 'value3'}

一个班轮:

new_dict = reduce(lambda x, y: x.update(y) or x, my_list) # use side effect in lambda
相关问题