cmp(dict1, dict2) 比较两个字典大小的方法:先比字典长度,若相等就比 key 值,若再相等就比 value。
但是这个方法已经被 Python 3 取消了。
请参考: Python2 用 cmp() 比较字典大小 , Python3 为什么取消了 __cmp__ 方法
operator 模块提供了一系列方法比较两个字典大小,详细方法及使用示例请参考: Python3 使用 operator 模块比较字典大小 。
但是在写法上我们要注意,最好用 String 内置的方法,这样利于对空值的判断:
结果如下:
cmp( x, y)Compare the two objects x and y and return an integer according to the outcome. The return value is negative if x <y, zero if x == y and strictly positive if x >y.
比较2个对象,前者小于后者返回-1,相等则返回0,大于后者返回1.
numbers.sort这种用法是错误的,如果你想要排序,则用如下语句:num_sort=sorted(numbers,key=None,reverse=False)
新的list num_sort才是一个排序后的列表。然后,你自定义的cmp过程只能对比两个数字,而能对比列表中的各个元素,python3解释器不知道你要做什么,所以才会出错。