为了账号安全,请及时绑定邮箱和手机立即绑定

这个怎么体现出来是倒序的?

def reversed_cmp(x, y):
    if x > y:
        return -1
    if x < y:
        return 1
    return 0

这个怎么体现出来是倒序的?

一直也看不明白

正在回答

4 回答

你可以这么理解,你想x放在y前面,则返回-1,相反则返回1,相等则返回0;至于楼上 说的没有关系,因为函数名字可以随便命名。

0 回复 有任何疑惑可以回复我~

Python有个内置函数cmp,大于返回正数,等于返回0,小于返回负数。也就是说只要规定返回值为正数就一定大于,0就一定等于,负数就一定小于,这样规定是为了更好的排序,因为本身程序输入的数字字符串之类的比较是用ASCII码比较,顺序比较返回值会在一个正负区间之类返回数,会遵循前面说的返回规律

0 回复 有任何疑惑可以回复我~

这应该是个源码

0 回复 有任何疑惑可以回复我~

我是这样理解的,sort其实是按照顺序的,就是x>y就按照x y ;x<y就按照x<y,x=y就是0,然后这个判断的标准就是-1 1 0,然后至于是等于1还是-1 还是0就是你的函数自己决定的,如果没用定义函数应该就是按照我们正常的从小到大。但是你现在定义了,原本是x,y,如果x>y,按正常应该是y x,但是你现在自己定义了为-1,在sort看来就是意味着x<y,所以就是倒序了。因为总是把大的放前面.

l=[67,8,4,5]
print sorted(l)

结果是:

[4, 5, 8, 67]

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

这个怎么体现出来是倒序的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信