合并两个词典相同的按键[复制]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两个词典相同的按键[复制]相关的知识,希望对你有一定的参考价值。
这个问题已经在这里有一个答案:
我从配置文件,此格式加载两个库:qazxsw POI
随着files_name:在哪里可以找到这个值的文件。
例如:
key: (value, files_name)
我想将它们合并在一起,使文件名列表的串联。
因此,基本上,按照上述的例子中,输出应该是:
dict_1 = 'a': ('b': ('c': (1, ['file_1']), ['file_1']), ['file_1'])
dict_2 = 'a': ('b': ('c': (2, ['file_2']), ['file_2']), ['file_2'])
答案
递归它可以与任何复杂的字典来完成,前提是结构和键在两个字典一样。
'a': ('b': ('c': (1, ['file_1', 'file_2']), ['file_1', 'file_2']), ['file_1', 'file_2'])
所以,如果你这样做:
def mergedict(dd1, dd2):
dict_res =
for key, val in dd1.items():
if isinstance(val[0], dict):
dict_res[key] = (mergedict(val[0], dd2[key][0]), val[1] + dd2[key][1])
else:
dict_res[key] = (val[0], val[1] + dd2[key][1])
return dict_res
与你的类型的字典您可以:
rr = mergedict(dict_1, dict_2)
print(rr)
这是你期望的输出。
另一答案
我相信这是接近你在找什么。虽然这是没有看到你的代码的假设:
'a': ('b': ('c': (1, ['file_1', 'file_2']), ['file_1', 'file_2']), ['file_1', 'file_2'])
以上是关于合并两个词典相同的按键[复制]的主要内容,如果未能解决你的问题,请参考以下文章