python合并字典的值

x = { 'apple': 1, 'banana': 2 }
y = { 'banana': 10, 'pear': 11 }

需要把两个字典合并,最后输出结果是:

{ 'apple': 1, 'banana': 12, 'pear': 11 }

 

解决:

利用collections.Counter可轻松办到

 

x = { 'apple': 1, 'banana': 2 }
y = { 'banana': 10, 'pear': 11 }
from collections import Counter
X,Y = Counter(x), Counter(y)
z = dict(X+Y)
z

 

from collections import Counter
dict(Counter(x)+Counter(y))

如果是大列表套小字典的格式

可以加一个循环

user_tag = [{'count':10,'tag':'喜剧'},{'count':5,'tag':'话剧'},{'count':3,'tag':'喜剧'}]
from collections import defaultdict

di_pair = defaultdict(int)
  # 定义字典的值为int型
for di in user_tag:
    
    di_pair[di.get('tag')] += di.get('count')  # 向字典添加值

输出:{'喜剧':13,'话剧':5}

总之很灵活的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值