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正则表达式match和search用法实例
Mar 26 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
基于python实现简单日历
Jul 28 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
构建高效的python requests长连接池详解
May 02 Python
如何卸载python插件
Jul 08 Python
django序列化时使用外键的真实值操作
Jul 15 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 Python
python可视化之颜色映射详解
Sep 15 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
wordpress之wp-settings.php
2007/08/17 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP常用的小程序代码段
2015/11/14 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
js的写法基础分析
2011/01/17 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
jquery实现数字输入框
2017/02/22 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
原生js 实现表单验证功能
2021/02/08 Javascript
Python selenium如何设置等待时间
2016/09/15 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
什么是GWT的Module
2013/01/20 面试题
追悼会家属答谢词
2015/09/29 职场文书
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python