weixin_44624299 2022-06-09 21:41 采纳率: 100%
浏览 39
已结题

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

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)

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-06-09 22:19
    关注

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

    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)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月18日
  • 已采纳回答 6月10日
  • 创建了问题 6月9日

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据