python判断两个字典的内容是否相等_Python 3 判断2个字典相同

下面先给大家介绍下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 3 判断2个字典相同

本文地址: http://www.cppcns.com/jiaoben/python/267560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值