合并两个词典相同的按键[复制]

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'])

以上是关于合并两个词典相同的按键[复制]的主要内容,如果未能解决你的问题,请参考以下文章

两个excel表,有一列内容相同,怎么把这两张表合并?

JAVA,用List做,两个数组中数的合并和去除相同元素

如何在响应中将两个变量合并为一个? [复制]

两个excel文件,表头相同,怎么合并成一个文件,求助高手啊

excel表怎么把2个表相同的表头不同的内容合并在一起?

EXCEL怎么把两个相同名称后面带的内容关联一起?