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条件和循环的使用方法
Nov 01 Python
Python的垃圾回收机制深入分析
Jul 16 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
利用python画出折线图
Jul 26 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
详解python Todo清单实战
Nov 01 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
Jun 19 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 Python
python 实现兔子生兔子示例
Nov 21 Python
Python实现查找数据库最接近的数据
Jun 08 Python
PyQt5实现多张图片显示并滚动
Jun 11 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
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
详解升级react-router 4 踩坑指南
2017/08/14 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
通过实例解析python描述符原理作用
2020/01/22 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
市场营销专业推荐信
2013/11/03 职场文书
军训感想500字
2014/02/20 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
李强优秀员工观后感
2015/06/16 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
python全面解析接口返回数据
2022/02/12 Python