我有多个这样的词典列表:
list_of_dictionaries_1 = [{
'a':1,
'b':2
}, {
'a':3,
'b':4
}]
list_of_dictionaries_2 = [{
'c':1,
'd':2
}, {
'c':3,
'd':4
}]
我想将每个元素添加到新字典中。
new_dictionary = {
data: [{
'a':1,
'b':2
}, {
'a':3,
'b':4
}, {
'c':1,
'd':2
}, {
'c':3,
'd':4
}]
}
所以我为每个词典列表做了这个:
for dictionary_ in list_of_dictionaries_1:
new_dictionary['data'] = dictionary_
但这只是返回字典列表中的最后一个元素。
new_dictionary = {
data:[{
'c':3,
'd':4
}]
}
如何在新词典中添加所有词典?
答案 0 :(得分:1)
如果我理解正确,您可以这样做:
new_dictionary = {'data': []}
for elem in list_of_dictionaries_1 + list_of_dictionaries_2:
new_dictionary['data'].append(elem)
print(new_dictionary)
输出:
{'data': [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, {'c': 1, 'd': 2}, {'c': 3, 'd': 4}]}
答案 1 :(得分:1)
您可以使用itertools.chain
合并两个列表:
from itertools import chain
new_dictionary = {'data': list(chain(list_of_dictionaries_1, list_of_dictionaries_2))}
new_dictionary
变为:
{'data': [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, {'c': 1, 'd': 2}, {'c': 3, 'd': 4}]}
答案 2 :(得分:0)
您的字典结构看起来不一致。但是,您可以执行以下操作来实现您想要的目标。
list_of_dictionaries_1 = [{'a':1, 'b':2 }, {'a':3, 'b':4}]
list_of_dictionaries_2 = [{'c':1, 'd':2 }, {'c':3, 'd':4 }]
list_of_dictionaries_1.extend(list_of_dictionaries_2)
print(list_of_dictionaries_1)
输出: [{'a':1,'b':2},{'a':3,'b':4},{'c':1,'d':2},{'c':3, 'd':4}]