Python 字典(Dictionary) cmp()方法
描述
Python 字典的 cmp() 函数用于比较两个字典元素。
语法
cmp()方法语法:
cmp(dict1, dict2)
参数
- dict1 -- 比较的字典。
- dict2 -- 比较的字典。
返回值
如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。
实例
以下实例展示了 cmp()函数的使用方法:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict1 = {'Name': 'Zara', 'Age': 7};
dict2 = {'Name': 'Mahnaz', 'Age': 27};
dict3 = {'Name': 'Abid', 'Age': 27};
dict4 = {'Name': 'Zara', 'Age': 7};
print "Return Value : %d" % cmp (dict1, dict2)
print "Return Value : %d" % cmp (dict2, dict3)
print "Return Value : %d" % cmp (dict1, dict4)
以上实例输出结果为:
Return Value : -1 Return Value : 1 Return Value : 0
Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,包含的方法有:
实例
字典 cmp() 的笔记规则:
先比较字典的长度,如果相等。再比较adiff(在A中与B值不相等的最小key)和bdiff(在B中与A值不相等的最小key),再等则比较两者的值。
长度相等,直接比较'Addr'和'Adds',所以 dict1 < dict2:
长度相等,key完全相等,比较value不等keys('Name','Age','Addr')中的最小key('Addr')的value('hust','whu'),所以dict1 < dict2
字典比较说明:
1、先比较字典的长度。
2、dict1 最小的 key 与 dict2 最小的 key 比较。
3、dict1 最小 key 的 value 与 dict2 最小 key 的 value 比较。
4、循环(2,3步)执行第二小的 key。
如示例: Age=Age,27=27; Class=Class, airst > firstç; 故 dict1 > dict2 输出 1。
注意: 数字 < 大写字母 < 小写字母。