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 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
python版微信跳一跳游戏辅助
Jan 11 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
python scp 批量同步文件的实现方法
Jan 03 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 Python
Python移位密码、仿射变换解密实例代码
Jun 27 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 Memcached应用实现代码
2010/02/08 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现在目录中查找指定文件的方法
2014/11/11 Python
浅谈Python中函数的参数传递
2016/06/21 Python
Python算法应用实战之栈详解
2017/02/04 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
python实现邮件发送功能
2019/08/10 Python
python修改FTP服务器上的文件名
2019/09/11 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
2014年小班元旦活动方案
2014/02/16 职场文书
教室标语大全
2014/06/21 职场文书
宣传活动总结范文
2014/07/01 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
小型婚礼主持词
2015/06/30 职场文书
经销商会议开幕词
2016/03/04 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
Python图像处理之图像拼接
2021/04/28 Python
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
python批量创建变量并赋值操作
2021/06/03 Python
Python 语言实现六大查找算法
2021/06/30 Python
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技