How to merge dictionaries of dictionaries?

后端 未结 29 3323
渐次进展
渐次进展 2020-11-22 05:13

I need to merge multiple dictionaries, here\'s what I have for instance:

dict1 = {1:{\"a\":{A}}, 2:{\"b\":{B}}}

dict2 = {2:{\"c\":{C}}, 3:{\"d\":{D}}
         


        
29条回答
  •  隐瞒了意图╮
    2020-11-22 06:15

    If you have an unknown level of dictionaries, then I would suggest a recursive function:

    def combineDicts(dictionary1, dictionary2):
        output = {}
        for item, value in dictionary1.iteritems():
            if dictionary2.has_key(item):
                if isinstance(dictionary2[item], dict):
                    output[item] = combineDicts(value, dictionary2.pop(item))
            else:
                output[item] = value
        for item, value in dictionary2.iteritems():
             output[item] = value
        return output
    

提交回复
热议问题