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函数学习笔记
Oct 07 Python
python获取当前时间对应unix时间戳的方法
May 15 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
Python编写一个优美的下载器
Apr 15 Python
python中的不可变数据类型与可变数据类型详解
Sep 16 Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 Python
pytorch-神经网络拟合曲线实例
Jan 15 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
python入门:argparse浅析 nargs='+'作用
Jul 12 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 Python
python基础入门之字典和集合
Jun 13 Python
Python之matplotlib绘制折线图
Apr 13 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字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
script标签属性type与language使用选择
2012/12/02 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
深入理解NumPy简明教程---数组2
2016/12/17 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
有趣的python小程序分享
2017/12/05 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
Django如何自定义分页
2018/09/25 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
大学生职业规划前言模板
2013/12/27 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
爱护花草树木的标语
2014/06/11 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS