python2个字典合成(Python两个字典键同值相加的几种方法)
类别:脚本大全 浏览量:2745
时间:2022-01-15 01:51:07 python2个字典合成
Python两个字典键同值相加的几种方法两个字典A = {'a': 1, 'b': 2, 'c': 3}, B = {'b': 4, 'c': 6, 'd': 8} 要合并这两个字典,键值同则相加。
两个字典如果不考虑键相同则相加的话,可以使用d1.update(d2)
可以很方便合并,但这样的后面的字典到中的值会覆盖字典d1中的值。
|
>>> A = { 'a' : 1 , 'b' : 2 } >>> B = { 'a' : 8 , 'c' : 3 } >>> A.update(B) >>> A { 'a' : 8 , 'b' : 2 , 'c' : 3 } |
如果要考虑两个字典,如果考虑键同则值相加的问题,可以使用下面的几种方法:
方法一:
|
>>> A = { 'a' : 1 , 'b' : 2 , 'c' : 3 } >>> B = { 'b' : 4 , 'c' : 6 , 'd' : 8 } >>> for key,value in B.items(): ... if key in A: ... A[key] + = value ... else : ... A[key] = value >>> dict ( sorted (A.items(), key = lambda d:d[ 1 ])) { 'a' : 1 , 'b' : 6 , 'd' : 8 , 'c' : 9 } |
方法二:
|
>>> A = { 'a' : 1 , 'b' : 2 , 'c' : 3 } >>> B = { 'b' : 4 , 'c' : 6 , 'd' : 8 } >>> C = {} >>> for key in list ( set (A) | set (B)): ... if A.get(key) and B.get(key): ... C.update({key: A.get(key) + B.get(key)}) ... else : ... C.update({key: A.get(key) or B.get(key)}) >>> C { 'c' : 9 , 'd' : 8 , 'a' : 1 , 'b' : 6 } |
方法三:
|
>>> A = { 'a' : 1 , 'b' : 2 , 'c' : 3 } >>> B = { 'b' : 4 , 'c' : 6 , 'd' : 8 } >>> def dict_union(d1, d2): ... keys = d1.keys() | d2.keys() ... temp = {} ... for key in keys: ... temp[key] = sum ([d.get(key, 0 ) for d in (d1, d2)]) ... return temp >>> C = dict_union(A, B) >>> C { 'd' : 8 , 'a' : 1 , 'b' : 6 , 'c' : 9 } |
方法四:
|
>>> A = { 'a' : 1 , 'b' : 2 , 'c' : 3 } >>> B = { 'b' : 4 , 'c' : 6 , 'd' : 8 } >>> C = {} >>> for key1 in A: ... for key2 in B: ... if key1 in B: ... C[key1] = A[key1] + B[key1] ... else : ... C[key1] = A[key1] ... if key2 not in A: ... C[key2] = B[key2] >>> C { 'a' : 1 , 'd' : 8 , 'b' : 6 , 'c' : 9 } |
方法五:
|
>>> A = { 'a' : 1 , 'b' : 2 , 'c' : 3 } >>> B = { 'b' : 4 , 'c' : 6 , 'd' : 8 } >>> C = {} >>> for key in A: ... if B.get(key): ... C[key] = A[key] + B[key] ... else : ... C[key] = A[key] >>> for key in B: ... if not A.get(key): ... C[key] = B[key] >>> C { 'a' : 1 , 'b' : 6 , 'c' : 9 , 'd' : 8 } |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/Jerry_1126/article/details/86378259
您可能感兴趣
- python初学篇元组(元组列表字典莫烦python基础)
- python字符串之基本操作小练习(Python数据类型之String字符串实例详解)
- python numpy数组拼接(Python快速转换numpy数组中Nan和Inf的方法实例说明)
- python如何实现日期自动增加(Python脚本按照当前日期创建多级目录)
- python中for语句的无限循环(python使用for循环计算0-100的整数的和方法)
- python列表切片和分片(Python列表切片操作实例总结)
- python测试websocket接口(Python如何爬取实时变化的WebSocket数据的方法)
- python多线程超时设置(解决python线程卡死的问题)
- python 3.10 循环语法(Python3.4学习笔记之常用操作符,条件分支和循环用法示例)
- python画图教程(详解用Python练习画个美队盾牌)
- python pandas读取数据库表(Python3.5 Pandas模块之DataFrame用法实例分析)
- python语句for循环(Python基础之循环语句用法示例for、while循环)
- python class转json(Python对象转换为json的方法步骤)
- 协程在python中怎么使用(python协程之动态添加任务的方法)
- 怎么用python分析足球(使用Python进行体育竞技分析预测球队成绩)
- python如何获取列表值(Python中按键来获取指定的值)
- 中国有几个名族(中国有几个民族没列入56个民族)
- 数学语文题目(语文的数学题)
- 香蕉(香蕉三种人不宜吃)
- 没钱可以快乐吗(没钱也能快乐吗)
- 快乐是什么(快乐就是)
- 东南亚有哪个国家(东南亚有哪个国家最发达)
热门推荐
- 前端技术图解(前端水印的简单实现代码示例)
- docker打包镜像命令(docker 打包本地镜像,并到其他机器进行恢复操作)
- 简单了解一门编程语言的几个建议
- php错误提示问题(php提示Creating default object from empty value 的问题解决方法)
- dedecms后台账号(dedecms实现首页顶部会员登陆框的方法)
- docker配置redis集群(基于Docker搭建Redis主从集群的实现)
- .Net中Immutable(不可变)集合
- asp.net使用swfupload上传
- 织梦系统的seo教程(织梦后台SEO优化和修改关键字的方法)
- js运算符使用教程(js中不常见的运算符与操作符总结)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9