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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

利用Python的Flask框架来构建一个简单的数字商品支付解决方案

利用Python的Flask框架来构建一个简单的数字商品支付解决方案

作为一个程序员,我有时候忘了自己所具有的能力。当事情没有按照你想要的方式发展时,却很容易忘记你有能力去改变它。昨天,我意识到,我已经对我所出售的书的付款处理方式感到忍无可忍了。我的书完成...

Python连接mysql数据库的正确姿势

Python连接mysql数据库的正确姿势

Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL S...

python清理子进程机制剖析

python清理子进程机制剖析

起步 在我的印象中,python的机制会自动清理已经完成任务的子进程的。通过网友的提问,还真看到了僵尸进程。 import multiprocessing as mp import...

Django中的cookie和session

Django中的cookie和session

http协议是无状态的。下一次去访问一个页面时并不知道上一次对这个页面做了什么。 无状态的应用层面的原因是:浏览器和服务器之间的通信都遵守HTTP协议。 根本原因是:浏览器与服务器是使用...

详解PyCharm安装MicroPython插件的教程

详解PyCharm安装MicroPython插件的教程

前言 PyCharm可以说是当今最流行的一款Python IDE了,大部分购买TPYBoard的小伙伴都会使用PyCharm编写MicroPython的程序。遗憾的是,只是把PyChar...