课程
/后端开发
/Python
/python进阶
sorted([36, 5, 12, 9, 21], reversed_cmp)
这里面的x和y是哪个啊,我看不懂求大神讲一下,不是传出-1,0,1吗,怎么就排序了
2019-03-10
源自:python进阶 2-7
正在回答
如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。且看上面这一句话,调用函数后,函数会返回值,这几个值分别是-1,0,1,如果返回-1,那么就说明x应该排在y的前面,比如第一次传入,调用函数后,x的 形式参数为36,y的形式参数为5,那么按照函数内部的语句功能,x>y,也即36>5,那么返回-1,这样就通知sorted高阶函数把36排在5的前面,以此类推直到排序完成
原来sort就是定义了这个机制,谢谢
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计