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

请问关于定义reversed_cmp,其内部是如何运行的。

问个问题:
举例中的函数,提供了两个输入x,y。
def reversed_cmp(x, y):
    if x > y:
        return -1
    if x < y:
        return 1
    return 0

print  sorted([36, 5, 12, 9, 21], reversed_cmp)

输出以后,确实可以得到倒序的排列。那么我想知道,这个是调用函数reversed_cmp后,函数内部是如何执行的。另外。x,y的是如何取值的。是否是会陆续把36,5.带入函数最对比。

 

正在回答

1 回答

1reversed_cmp函数 理解为对两个数排序(且生成排序好列表---虽然这个函数里没做这个操作,但是要做是不是很容易)

2soretd 函数将reversed_cmp 作用的对象从2个数,变成了一个列表

3sorted和reversed_cmp之间的联系(接口--指定格式-1 0 1)

实际工作流程(推测的):

36和5比较生成[36,5]

这时候12进来  与列表比较  

有可能      从左往右比较  比36小,在36右边,比5大,停止,不往后继续比较

也可能     从右往左比较.....................

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

举报

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

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

进入课程

请问关于定义reversed_cmp,其内部是如何运行的。

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