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)
输出