• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
_夕颜
博客园    首页    新随笔    联系   管理    订阅  订阅
python字典(dict)相加,相同key相加,不同key保留
# 假如 两个字典r1_dic={'a':1,'b':2,'c':3}
        r2_dic={'c':4,'d':5}
若两个字典r1_dic和r2_dic有相同的key则对应的value相加,若没有则直接添加过来。结果为dict={'a':1,'b':2,'c':7,'d':5}
方法一
from collections import defaultdict


r1_dic={'a':1,'b':2,'c':3}
r2_dic={'c':4,'d':5}

dic = defaultdict(int)
for k,v in r1_dic.items():
    dic[k] += v
for k,v in r2_dic.items():
    dic[k] += v
print(dic)

方法二

x={'a':1,'b':2,'c':3}
y={'c':4,'d':5}

def merge_dict(x,y):
    for k,v in x.items():
                if k in y.keys():
                    y[k] += v
                else:
                    y[k] = v

方法三

r1_dic={'a':1,'b':2,'c':3}
r2_dic={'c':4,'d':5}



from collections import Counter
X,Y=Counter(r1_dic),Counter(r2_dic)
z=dict(X+Y)
print(z)

 

posted on 2020-05-06 19:53  __夕颜  阅读(4474)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3