Python 比较两个字典大小

Python045

Python 比较两个字典大小,第1张

学习 Python 时,遇到看到菜鸟教程里的 cmp() 方法,衍生出这篇文章。但是后来和朋友讨论,感觉在实际应用中极少有用到比较字典大小的场景。不过能搞懂一个知识点,还是很开心的。

cmp(dict1, dict2) 比较两个字典大小的方法:先比字典长度,若相等就比 key 值,若再相等就比 value。

但是这个方法已经被 Python 3 取消了。

请参考: Python2 用 cmp() 比较字典大小 , Python3 为什么取消了 __cmp__ 方法

operator 模块提供了一系列方法比较两个字典大小,详细方法及使用示例请参考: Python3 使用 operator 模块比较字典大小 。

但是在写法上我们要注意,最好用 String 内置的方法,这样利于对空值的判断:

结果如下:

先建立一个字典,比如:phoneNumbers = 

{'Bob': '444-4321', 'John': '555-1234', 'Mary': '555-6789', 'Jenny': '867-5309'}

按照值的大小顺序排列

for value in sorted(phoneNumbers.values()):

for key in phoneNumbers.keys():

if phoneNumbers[key] == value:

print key, phoneNumbers[key]

i={1:"192.168.0.1:1000",2:"192.168.0.1:1000",3:"192.168.0.1:1000",4:"192.168.0.1:1001",5:"192.168.0.1:1001",6:"192.168.0.1:1002",7:"192.168.0.1:1003"}

for f in range(1,8):

a=i[f]

for w in range(2,8):

b=i[w]

if a==band f!=w:

print f,w

后面的再操作一下字典即可