有这个需求,记录下
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)
输出
{‘1’: 2, ‘3’: ‘a’, ‘a’: ‘c’, ‘b’: 4}
{‘a’: 7, ‘b’: 4, ‘c’: 8}
注意: 如果字典间有公共键,后一个键值对(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)
输出
{‘1’: 2, ‘3’: ‘a’, ‘a’: ‘c’, ‘b’: 4}
{‘a’: 7, ‘b’: 4, ‘c’: 8}
或者你可以
定义一个函数实现多个字典的合并
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)
输出
{‘1’: 2, ‘3’: ‘a’, ‘a’: 7, ‘b’: 4, ‘c’: 8}