
正文
python的cmp函数 python cmp_to_key
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在python 3.5中,cmp(a,b)被代替为(a>b)-(ab)-(a
原来的cmp函数python的cmp函数,cmp(apython的cmp函数,b):如果 a b 返回 -1, 如果 a == b 返回 0, 如果 a b 返回 1
计算机中判断结果True用1表示python的cmp函数,False用0表示。
python的cmp函数我们先不妨设abpython的cmp函数,
那么a b=1,ab=0
那么(ab)-(ab)=0
同理可得到a==b输出0,ab输出-1
相关问答
Q1: python中a与1哪个大
Python中可以使用cmp()函数比较两个列表的大小。
cmp()函数语法python的cmp函数:cmp(list1, list2)
参数python的cmp函数:
list1 -- 比较的列表。list2 -- 比较的列表。
返回值:
如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
如果是数字,执行必要的数字强制类型转换,然后比较。如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
以下实例展示了 cmp()函数的使用方法:list1, list2 = [123, 'xyz'], [456, 'abc']print cmp(list1, list2
Q2: Python3.x运用cmp()函数进行高级排序报错
numbers.sort这种用法是错误的,如果你想要排序,则用如下语句:
num_sort=sorted(numbers,key=None,reverse=False)
新的list num_sort才是一个排序后的列表。然后,你自定义的cmp过程只能对比两个数字,而能对比列表中的各个元素,python3解释器不知道你要做什么,所以才会出错。
Q3: python3.2.2版本中的cmp()函数
3开始没这个函数了python的cmp函数,官方文档是这么写的
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a b) - (a b) as the equivalent for cmp(a, b).)
大意就是cmp()函数已经“离开”了python的cmp函数,如果你真的需要cmp()函数,你可以用表达式(a b) - (a b)代替cmp(a,b)
关于python的cmp函数和python cmp_to_key的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






