m0_49217529
扯淡的工程师
2020-11-16 17:27
采纳率: 33.3%
浏览 502

python 列表中的字典键有重复,但值不同,如何把重复的键合并并且把值相加

python 列表中的字典键有重复,但值不同,如何把重复的键合并并且把值相加,例如:

list1 = [{a:1},{b:5},{c:89},{d:8},{b:90},{a:21},{c:7}],求大神指点。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • PASH_dou
    PASH_dou 2020-11-16 19:25
    已采纳
    list1 = [{'a':1},{'b':5},{'c':89},{'d':8},{'b':90},{'a':21},{'c':7}]
    kz=[]
    vz=[]
    for i in list1:
        for k,v in i.items():
            if k in kz:
                z=kz.index(k)
                vz[z]=vz[z]+v
            else:
                kz.append(k)
                vz.append(v)
    dict(zip(kz,vz))

     

    点赞 评论
  • qq_15228737
    奋斗的小小鱼 2020-11-16 18:10

    遍历字典,判断key是否相同,若相同就将其对应的value相加

    点赞 评论

相关推荐