Python 3 判断2个字典相同


Posted in Python onAugust 06, 2019

下面先给大家介绍下Python 3 判断2个字典相同的方法,

Python自带的数据结构dict非常好用,之前不知道怎么比较2个字典是否相同,做法是一个一个key比较过去。。。

现在想到可以直接用==进行判断!!!

a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
print(a == b == c == d == e)

Python内部对==进行了重载,帮你实现了对key和value进行判断。

知识点扩展:

Python3 查找两字典的相同点

问题

怎样在两个字典中寻找相同点(比如相同的键、相同的值等)?

解决方案

考虑下面两个字典:

a = {
  'x' : 1,
  'y' : 2,
  'z' : 3
}
b = {
  'w' : 10,
  'x' : 11,
  'y' : 2
}

寻找两个字典的相同点,可以在两字典的 keys()或者 items() 方法返回结果上执行集合操作。例如:

# Find keys in common
a.keys() & b.keys() # Return { 'x', 'y' }
# Find keys in a that are not in b
a.keys() - b.keys() # Return { 'z' }
# Find (key,value) pairs in common
a.items() & b.items() # Return { ('y', 2) }

这些集合操作,也可以用于修改或者过滤字典元素,例如:

c = {key:a[key] for key in a.keys() - {'w', 'z'}}
print(c)
{'y': 2, 'x': 1}

讨论

一个字典就是一个键集合与值集合的映射关系。

字典的 keys() 方法返回一个展现键集合的键视图对象,该对象支持集合操作,比如集合并、交、差运算。 所以,可以直接对字典的键执行普通的集合操作,而不用先将它们转换成一个 set。

字典的 items() 方法返回一个包含 (键,值) 对的元素视图对象,该对象同样也支持集合操作。

字典的 values() 方法返回结果,并不支持集合操作,因为值视图不能保证所有的值互不相同,这样会导致某些集合操作出现问题,可以先将值集合转换成 set,然后再执行集合运算。

总结

以上所述是小编给大家介绍的Python 3 判断2个字典相同,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python安装以及IDE的配置教程
Apr 29 Python
python提取页面内url列表的方法
May 25 Python
python开发之函数定义实例分析
Nov 12 Python
用python找出那些被“标记”的照片
Apr 20 Python
python3基于OpenCV实现证件照背景替换
Jul 18 Python
对Python中plt的画图函数详解
Nov 07 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
django 控制页面跳转的例子
Aug 06 #Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 #Python
django项目简单调取百度翻译接口的方法
Aug 06 #Python
python数据归一化及三种方法详解
Aug 06 #Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 #Python
PyQt 图解Qt Designer工具的使用方法
Aug 06 #Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 #Python
You might like
PHP 已经成熟
2006/12/04 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
php实现微信支付之退款功能
2018/05/30 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
python基础教程之获取本机ip数据包示例
2014/02/10 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
python时间日期操作方法实例小结
2020/02/06 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
python tkinter实现连连看游戏
2020/11/16 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
综合测评自我鉴定
2013/10/08 职场文书
工程师岗位职责
2013/11/08 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
管理人员岗位职责
2015/02/14 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
教师反邪教心得体会
2016/01/15 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书