博客园  :: 首页  :: 管理

如有两个字典,我们需要对其所有的键key进行比较,判断他们的key的数量和key名称是否都一样,是否相等

实现的方式也多,笔者发现,其实最简单的方法,就是直接通过dict.keys()进行比较,如下创建python文件,DictKeysCompare.py,内容如下:

#!/usr/bin/env python3
# Author:https://wwww.cnblogs.com/5201351

dict01={"i-0e977e893deba4123":"node01","i-0e977e893deba4456":"node02"}
dict02={"i-0e977e893deba4456":"node02","i-0e977e893deba4123":"node01"}
dict03={"i-0e977e893deba4123":"node01","i-0e977e893deba4000":"node03","i-0e977e893deba4456":"node02"}

print(dict01.keys())
print(dict02.keys())
print(dict03.keys())
print("The type of dict01.keys() is --->",type(dict01.keys()))
print("##############################################################")

print("dict01.keys() == dict02.keys()",dict01.keys()==dict02.keys())
print("dict01.keys() == dict03.keys()",dict01.keys()==dict03.keys())

运行结果如下:

dict_keys(['i-0e977e893deba4123', 'i-0e977e893deba4456'])
dict_keys(['i-0e977e893deba4456', 'i-0e977e893deba4123'])
dict_keys(['i-0e977e893deba4123', 'i-0e977e893deba4000', 'i-0e977e893deba4456'])
The type of dict01.keys() is ---> <class 'dict_keys'>
##############################################################
dict01.keys() == dict02.keys() True
dict01.keys() == dict03.keys() False

通过上面的代码例子,总结说明:我们通过字典的.keys() 进行比较,因为字典无所谓顺序的,所以key的顺序不影响比较结果

只要字典的key的数量和key名称一样的,都视为相等,注,不要通过dict.key比较,而是需要通过dict.keys()的方式比较~

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17147339.html