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使用循环实现批量创建文件夹示例
Mar 25 Python
简单的编程0基础下Python入门指引
Apr 01 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
python中p-value的实现方式
Dec 16 Python
Django 限制访问频率的思路详解
Dec 24 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
Keras设置以及获取权重的实现
Jun 19 Python
python matlab库简单用法讲解
Dec 31 Python
python 基于pygame实现俄罗斯方块
Mar 02 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概述.
2006/10/09 PHP
我的群发邮件程序
2006/10/09 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
javascript 事件绑定问题
2011/01/01 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
python中二维阵列的变换实例
2014/10/09 Python
Python tkinter事件高级用法实例
2018/01/31 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
高级销售员求职信
2013/10/25 职场文书
学员自我鉴定
2014/03/19 职场文书
村党支部公开承诺书
2014/05/29 职场文书
安全责任书范文
2014/08/25 职场文书
保险公司演讲稿
2014/09/02 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
家长会后的感想
2015/08/11 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis
nginx设置资源请求目录的方式详解
2022/05/30 Servers