Python 3 判断2个字典相同

作者:zhangpeterx 时间:2021-05-19 23:58:50 

下面先给大家介绍下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个字典相同,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://blog.csdn.net/zhangpeterx/article/details/98489290

标签:python,字典
0
投稿

猜你喜欢

  • Python的进程及进程池详解

    2021-05-18 08:51:46
  • pytorch 禁止/允许计算局部梯度的操作

    2021-01-17 01:55:35
  • GoLang 逃逸分析的机制详解

    2023-08-06 16:46:43
  • Python 实现选择排序的算法步骤

    2023-04-01 18:28:53
  • 用python 批量更改图像尺寸到统一大小的方法

    2021-04-04 23:47:42
  • Python实现对excel文件列表值进行统计的方法

    2022-08-08 17:42:23
  • Python使用Pillow实现图像基本变化

    2021-08-26 03:30:23
  • MySQL异常处理浅析

    2024-01-17 21:47:44
  • python文件转为exe文件的方法及用法详解

    2022-08-18 00:14:17
  • Flask路由尾部有没有斜杠有什么区别

    2021-03-17 12:00:58
  • Python 获得13位unix时间戳的方法

    2022-12-08 18:26:25
  • Python通过队列实现进程间通信详情

    2023-07-24 17:49:44
  • SQL计算字符串中最大的递增子序列的方法

    2024-01-26 15:33:53
  • Django处理Ajax发送的Get请求代码详解

    2023-06-29 08:40:40
  • js高亮关键词系列方法

    2008-01-22 11:11:00
  • 24式加速你的Python(小结)

    2023-09-25 10:25:24
  • Centos7.3下mysql5.7.18安装并修改初始密码的方法

    2024-01-20 00:02:11
  • 详解PHP结构型设计模式之桥接模式Bridge Pattern

    2023-05-25 06:58:55
  • phpStorm2020 注册码

    2024-05-11 10:07:19
  • Oracle数据泵的导入与导出实例详解

    2024-01-17 00:10:09
  • asp之家 网络编程 m.aspxhome.com