python 里面实现字典合并

有这个需求,记录下

python3.5 以后的版本 两个方法

方法1

核心代码

dicgoal = {**dic1,**dic2}

示例

dic1 = {'1':2,'3':'a'}
dic2 = {'a':'c','b':4}
dic3 = {'a':7,'c':8}

dic4 = {**dic1,**dic2}
dic5 = {**dic2,**dic3}
print(dic4)
print(dic5)

输出

注意: 如果字典间有公共键,后一个键值对(dic2中的)会替代前者(dic1中的)。见示例的 dic5

方法2

核心代码

dicgoal = dic1.copy()
dicgoal.update(dic2)

示例

dic1 = {'1':2,'3':'a'}
dic2 = {'a':'c','b':4}
dic3 = {'a':7,'c':8}

dic6 = dic1.copy()
dic6.update(dic2)
print(dic6)
dic7 = dic2.copy()
dic7.update(dic3)
print(dic7)

输出

或者你可以

定义一个函数实现多个字典的合并

def merge_dic(*dic_args):
    result = {}
    for dic in dic_args:
        result.update(dic)
    return result

调用方式 dicgoal = merge_dic(dic1,dic2,dic3)

示例

dic1 = {'1':2,'3':'a'}
dic2 = {'a':'c','b':4}
dic3 = {'a':7,'c':8}

def merge_dic(*dic_args):
    result = {}
    for dic in dic_args:
        result.update(dic)
    return result
    
dicgoal = merge_dic(dic1,dic2,dic3)
print(dicgoal)

输出

posted on 2021-06-09 19:39  雾恋过往  阅读(348)  评论(0编辑  收藏  举报

Live2D