如何将词典列表变成单个词典?
例如,假设我的初始列表为:
Dictionary_list = [{key:value}, {key2:value2}, {key3:value3}]
我需要这样的结果字典:
New_dictionary = {key:value, key2:value2, key3:value3}
答案 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