Python 3 判断2个字典相同
下面先给大家介绍下Python3判断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()方法返回结果上执行集合操作。例如:
#Findkeysincommon a.keys()&b.keys()#Return{'x','y'} #Findkeysinathatarenotinb a.keys()-b.keys()#Return{'z'} #Find(key,value)pairsincommon a.items()&b.items()#Return{('y',2)}
这些集合操作,也可以用于修改或者过滤字典元素,例如:
c={key:a[key]forkeyina.keys()-{'w','z'}} print(c) {'y':2,'x':1}
讨论
一个字典就是一个键集合与值集合的映射关系。
字典的keys()方法返回一个展现键集合的键视图对象,该对象支持集合操作,比如集合并、交、差运算。所以,可以直接对字典的键执行普通的集合操作,而不用先将它们转换成一个set。
字典的items()方法返回一个包含(键,值)对的元素视图对象,该对象同样也支持集合操作。
字典的values()方法返回结果,并不支持集合操作,因为值视图不能保证所有的值互不相同,这样会导致某些集合操作出现问题,可以先将值集合转换成set,然后再执行集合运算。
总结
以上所述是小编给大家介绍的Python3判断2个字典相同,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!