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抓取京东图书评论数据
Aug 31 Python
Python的Django中将文件上传至七牛云存储的代码分享
Jun 03 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
python实现txt文件格式转换为arff格式
May 31 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
Python将string转换到float的实例方法
Jul 29 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
python3实现弹弹球小游戏
Nov 25 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
Python用户自定义异常的实现
Dec 25 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 at(@)符号的用法简介
2009/07/11 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
zend框架实现支持sql server的操作方法
2016/12/08 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
javascript实现密码验证
2015/11/10 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
Vue代码整洁之去重方法整理
2019/08/06 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
python编写分类决策树的代码
2017/12/21 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
pandas 小数位数 精度的处理方法
2018/06/09 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
白酒业务员岗位职责
2013/12/27 职场文书
教师辞职报告范文
2014/01/20 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
车间主任岗位职责
2015/02/03 职场文书
小学美术教学反思
2016/02/17 职场文书
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS