python两个_多个字典合并相加的实例代码

yipeiwu_com6年前Python基础

这只是符合比较正常的需求和场景。

#一、适用合并两个字典(key不能相同否则会被覆盖),简单,好用。

A = {'a': 11, 'b': 22}
B = {'c': 48, 'd': 13}
#update() 把字典B的键/值对更新到A里
A.update(B)
print(A)

#二、适用多种场合,多字典存在相同key需要合并相加的场景比较适用。

def sum_dict(a,b):
  temp = dict()
  # python3,dict_keys类似set; | 并集
  for key in a.keys()| b.keys():
    temp[key] = sum([d.get(key, 0) for d in (a, b)])
  return temp

def test():
  #python3使用reduce需要先导入
  from functools import reduce
  #[a,b,c]列表中的参数可以2个也可以多个,自己尝试。
  return print(reduce(sum_dict,[a,b,c]))

a = {'a': 1, 'b': 2, 'c': 3}
b = {'a':1,'b':3,'d':4}
c = {'g':3,'f':5,'a':10}
test()

三、解包法和第一种效果(限制)一样,B吃掉A。

 A = {'a': 11, 'b': 22}
 B = {'a': 48, 'b': 13}
 print({**A,**B})

总结

以上所述是小编给大家介绍的python两个_多个字典合并相加的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Django接收post前端返回的json格式数据代码实现

post接收字符串 def subscription(request): msg = request.POST.get('msg') # tel_no = request....

python yield关键词案例测试

测试环境 win10 python 3.5 yield功能简介 简单来说,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,P...

Python版名片管理系统

Python版名片管理系统

本文实例为大家分享了Python版名片管理系统的具体代码,供大家参考,具体内容如下 先建立cards_main的文件 import cards_tools #无限循环,由用户主动决...

Python处理session的方法整理

Python处理session的方法整理

前言: 不管是在做接口自动化还是在做UI自动化,测试人员遇到的第一个问题都是卡在登录上。 那是因为在执行登录的时候,服务端会有一种叫做session的会话机制。 一个很简单的例子:...

python中引用与复制用法实例分析

本文实例讲述了python中引用与复制用法。分享给大家供大家参考。具体分析如下: 在python中,任何不可变对象是传值的,而可变对象是传引用的。 不管是向函数传递参数或者是任何形式的对...