汉堡361 2022-06-16 16:19 采纳率: 100%
浏览 140
已结题

两个字典相加,相同的key保留

dicta = {"a":1,"b":2,"c":3,"d":4,"f":"hello"}
dictb = {"b":3,"d":5,"e":7,"m":9,"k":"world"}
要求写一段代码,实现两个字典的相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接,如上示例得到结果为:
dictc = {"a":1,"b":5,"c":3,"d":9,"e":7,"m":9,"f":"hello","k":"world"}

  • 写回答

4条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-06-16 22:25
    关注

    以下这样写,比较简洁:

    dicta = {"a":1,"b":2,"c":3,"d":4,"f":"hello"}
    dictb = {"b":3,"d":5,"e":7,"m":9,"k":"world"}
    dct = dicta.copy()
    for k,v in dictb.items():
        dct[k] = dct.get(k,0 if isinstance(v,int) else '')+v
    print(dct)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 请详细说明问题背景 4月11日
  • 已结题 (查看结题原因) 11月14日
  • 已采纳回答 11月14日
  • 创建了问题 6月16日

悬赏问题

  • ¥15 根据以下文字信息,做EA模型图
  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥60 关机时蓝屏并显示KMODE_EXCEPTION_NOT_HANDLED,怎么修?
  • ¥66 如何制作支付宝扫码跳转到发红包界面