我正在尝试将三个Python词典组合在一起。
有点看起来如下:
dict1 = {'key1' : ['value1','value2','value3'] , 'key2' : ['value1','value5','value6']}
dict2 = {'value1' : ['test1','test1','test2','test3','test4'], 'value2': ['test1','test2','test2','test5','test6']........continues}
dict3 = {'test1' : [0,1,4,5], 'test2' : '[3,1,2,0]', test3:[7,8,1,3,4].... continues}
我想创建一个如下所示的字典:
mainDict = {'key1':[ {'value1' : { 'test1' :[0,1,4,5],'test2' : [3,1,2,0],'test3' :[7,8,1,3,4]...continues} } ]}
如何将3个词典合并为一个?
[我正在使用python 2.7版本]
答案 0 :(得分:0)
这可以通过简单地循环遍历词典并为每个值分配子词典来实现。
finaldict = {}
for key in dict1.keys():
finaldict[key] = {}
for key2 in dict1[key]:
finaldict[key][key2] = {}
for key3 in dict2[key2]:
finaldict[key][key2][key3] = dict3[key3]
print finaldict
我不得不删除很多值和测试,因为其他字典中没有引用。因为你使用'... continue'我假设你把它们放在某个地方,尽管提供实际在问题中工作的结构是好的。如果您希望缺少的键引用默认为None,请查看collections模块中的defaultdict。 https://docs.python.org/2/library/collections.html#collections.defaultdict