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装饰器decorator介绍
Nov 21 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
详解Python进程间通信之命名管道
Aug 28 Python
Python构建网页爬虫原理分析
Dec 19 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
django主动抛出403异常的方法详解
Jan 04 Python
一行python实现树形结构的方法
Aug 09 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
十个Python自动化常用操作,即拿即用
May 10 Python
Python带你从浅入深探究Tuple(基础篇)
May 15 Python
Pytorch可视化的几种实现方法
Jun 10 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
mysql中存储过程、函数的一些问题
2007/02/14 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php中几种常见安全设置详解
2010/04/06 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
基于python实现操作redis及消息队列
2020/08/27 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
体育教师自我鉴定
2014/02/12 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
小学一年级评语大全
2014/04/22 职场文书
小学班主任评语大全
2014/04/23 职场文书
淘宝活动总结范文
2014/06/26 职场文书
七一讲话心得体会
2014/09/05 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
公司放假通知范文
2015/04/14 职场文书
导游词之清晏园
2019/11/22 职场文书