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}
总之很灵活的