Python 字典递归合并
def rec_merge(d1, d2): """ 递归合并字典 :param d1: {"a": {"c": 2, "d": 1}, "b": 2} :param d2: {"a": {"c": 1, "f": {"zzz": 2}}, "c": 3, } :return: {'a': {'c': 1, 'd': 1, 'f': {'zzz': 2}}, 'b': 2, 'c': 3} """ for key, value in d2.items(): if key not in d1: d1[key] = value else: if isinstance(value, dict): rec_merge(d1[key], value) else: d1[key] = value return d1 if __name__ == "__main__": d1 = {"a": {"c": 2, "d": 1}, "b": 2} d2 = {"a": {"c": 1, "f": {"zzz": 2}}, "c": 3, } d1 = rec_merge(d1, d2) print(d1) #{'a': {'c': 1, 'd': 1, 'f': {'zzz': 2}}, 'b': 2, 'c': 3}