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

这样为什么可以实现倒序排列?

def reversed_cmp(x, y):
   if x > y:
       return -1
   if x < y:
       return 1
   return 0
>>> sorted([36, 5, 12, 9, 21], reversed_cmp)
[36, 21, 12, 9, 5]

正在回答

2 回答

sorted排序过程需要确定哪个在前哪个在后,元素a,b的先后权值是根据调用reversed_cmp(a,b) 得到的返回值1,-1,0确定的,返回值<0,sorted会把a放到b的前面,>0会把a放到b的后面,返回0则不改变它们的相对位置

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

灬粥请不加糖 提问者

原来如此,谢啦
2016-03-27 回复 有任何疑惑可以回复我~
#2

kajibu

还请问第一次比较36和5,接下来是怎么完成整个排序过程呢?依次拿谁和谁比较呢?
2016-05-01 回复 有任何疑惑可以回复我~
#3

仰望金星 回复 kajibu

排序算法有很多(冒泡,选排,基排,桶排,快排,堆排...),如果之前没了解过又想了解排序原理可以先搜索一下"冒泡",python内建的很可能是快排.
2016-06-29 回复 有任何疑惑可以回复我~
import print
fsdfdsfsdfsdfds


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

举报

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

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

进入课程

这样为什么可以实现倒序排列?

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