怎么样合并字典而不覆盖以前的值呢

def Merge(d1,d2):
res = {**d1,**d2}
return res

d1 = {'a':1,'b':'foo','c':400}
d2 = {'a':3,'b':200,'d':400}

d1_item = (d1.items())
d2_item = (d2.items())
d3 = Merge(d1,d2)
print(d3)

相同的键你打算怎么处理呢?字典里不能有重复的键。下面代码会把相同键的值放在列表里。

def merge(d1,d2):
    new=d1.copy()
    for i in d2:
        if new.get(i):
            new[i]=[new[i]]+[d2[i]]
        else:
            new[i]=d2[i]
    return new

d1={'a':1,'b':'foo','c':400}
d2={'a':3,'b':200,'d':400}
new = merge(d1,d2)
print(new)