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

为什么不能写return x>y

def cmp_ignore_case(s1, s2):

    x=s1[0].lower()

    y=s2[0].lower()

    return x>y


print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)


正在回答

2 回答

如果x>y会进行第一个和第二个比较,第二个和第三个比较,然后就输出错误了。

我以前也这样错过

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

x>y 的结果是 True 或 False

而自定义排序函数要求的返回结果是 [-1,0,1]

且不说 True 是否会自动转换为1,False是否会自动转换为0。而 -1这个值根本就没有

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

举报

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

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

进入课程

为什么不能写return x>y

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号