Python 3 判断2个字典相同
2019-08-06 11:03
3959 查看
下面先给大家介绍下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字典中key是否存在的两种方法
- [python] 取出字典中值最大的2个元素(键-值)
- 简单总结Python中序列与字典的相同和不同之处
- Python 快速判断字符是否在字典元素都存在
- python判断字典中的key是否存在
- 判断python字典中key是否存在的
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- python进阶指南:list如何去重(去掉list中元素为字典的且字典部分key相同的list元素)
- Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
- python中的变量,判断,列表,字典
- python再复习(2)list、tuple、条件判断和循环、字典和set
- python判断变量是否为int、字符串、列表、元组、字典等方法
- python判断key是否在字典里用in还是用has_key()
- 判断python 列表/字典深层key是否存在的方法
- Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为: while 判断条件:
- python 判断 图片是否相同
- Python判断两个文件是否相同与两个文本进行相同项筛选的方法
- PYTHON如何判断一个字典或者列表为空
- python3判断字典、列表、元组为空以及字典是否存在某个key的方法
- PYTHON如何判断一个字典或者列表为空