Python两个字典键同值相加的几种方法
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Jerry_1126/article/details/86378259
两个字典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}
rest={} for i in freq_stat: for key,value in i.items(): if key in rest: rest[key]+=1 else: rest[key]=1 rest=sorted(rest.items(),key=lambda d:d[1])
————————————————
版权声明:本文为CSDN博主「杰瑞26」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jerry_1126/article/details/86378259
Python两个字典键同值相加的几种方法相关推荐
- python两个元组相加_Python两个字典键同值相加的几种方法
Python中,如何合并两个键相同,值为元祖类型的字典? dicxs={"李明":("男",19), "杨柳":("女" ...
- python字典值求和_Python两个字典键同值相加的方法总结
Python字典键同值相加详解 两个字典A = {'a': 1, 'b': 2, 'c': 3}, B = {'b': 4, 'c': 6, 'd': 8} 要合并这两个字典,键值同则相加. 两个字典 ...
- python输出字典_Python如何将字典键和值拆分为单独的列表?(代码示例)
在Python中如何将给定字典拆分为键和值的列表?下面本篇文章就来给大家介绍几种实现方法,希望对大家有所帮助.[视频教程推荐:Python教程] 方法一:使用内置函数:keys()和values() ...
- Python 两个字典如何实现相加?(相同的键,值相加)
背景 在数据处理过程中经常遇到求两个字典相加(并集),要求相同的键,值相加,不同的键,进行汇集,最后得出一个总的字典,自己可以先进行思考,利用已有的知识,是否马上在心里有解决方法 例如: d1={'a ...
- python两个字典合并,两个list合并
python两个字典合并,两个list合并 1.两个字典:a={'a':1,'b':2,'c':3} b= {'aa':11,'bb':22,'cc':33} 合并1:dict(a,**b) 操作如 ...
- 在java中的交换方法有哪些_java中交换两个变量的值有哪几种方法,交换两个变量a和b的值...
java中交换两个变量的值有哪几种方法在Java中,有哪些方法可以交换两个变量的值, 方法: 1.定义临时变量 2.没有必要定义临时变量 3.使用位运算符 (学习视频分享:java课程) 代码示例: ...
- 通过Value获取Map中的键值Key的四种方法
1 简介 我们都知道Map是存放键值对<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值.然而,有的时候我们需要反过来获取,知道Value ...
- Python中记住过去(模型状态)的五种方法
在Python中记住过去(模型状态)的五种方法 从封闭函数和迭代器到状态机Python库 有人说... "那些不能记住过去的人,注定要重复它".G. Santayana, 1905 ...
- python中none算变量吗_在python中对变量判断是否为None的三种方法总结
三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...
最新文章
- 关于Verilog 中的for语句的探讨
- OVS DPDK--报文处理流程(八)
- MBR和GPT概要学习
- mysql 时间周期_数据库三大周期阶段
- 欢乐纪中某B组赛【2019.1.30】The penultimate day
- CF1120D Power Tree(树形DP/构造+差分+最小生成树)
- mysql建立从库同时备份_mysql主从库配置读写分离以及备份
- EntityFramework进阶——继承
- 【白皮书分享】2020新式茶饮白皮书:数字化进阶-奈雪.pdf(附下载链接)
- Debian Chroot on Synology NAS
- python资源网站_Python 博客网站资源
- zendstudio 的使用过程中出现 Editor could not be initialized. 的问题
- c语言手机表白代码大全,C语言表白代码
- [译] 人人都是设计师。我们可以的。
- 离散数学思维导图 - 集合论,命题逻辑,谓词逻辑,二元关系,特殊关系,图论,树
- 中科大 EPC课程 爬虫(最新,效果良好)
- pageadmin CMS网站建设教程:模板中如何实现信息数据共享
- module() takes at most 2 arguments (3 given)
- python函数之plot函数
- Urllib2库+正则爬取内涵段子
热门文章
- Access to XMLHttpRequest at file from origin ‘null‘ has been blocked by CORS policy谷歌浏览器本地打开项目js文件报错
- CentOS6安装nodejs
- Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)
- Windows10快捷应用指令
- 【SpringMVC】基本概念
- dataframe构建
- LLVM 编译器和工具链技术
- 单目摄像头标定与测距
- 人脸标记检测:ICCV2019论文解析
- 2021年大数据ELK(五):Elasticsearch中的核心概念