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

能详细地讲解一下这段代码吗?

def cmp_ignore_case(s1, s2):
   u1 = s1.upper()
   u2 = s2.upper()
   if u1 < u2:
       return -1
   if u1 > u2:
       return 1
   return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)

那个return 0,return -1,return 1 的用处是啥,没想通,是v排序?还是本来就没有多大的意义,只是需要在那儿充当一个位置,让程序不报错?特别是那个return 0 。


正在回答

1 回答

你了解过冒泡排序吗?

在冒泡排序中一个关键问题就是两个元素比较大小来决定谁在前,谁在后

比如1,3,8,5  排序出来应该是1,3,5,8   这种自然数字比较直观, 隐含的比如 8 , 5的位置就是:

 if 8 < 5:
       return -1
   if 8 > 5:
       return 1
   return 0

这个函数就是提供一个两个元素比较的方法,如果return 0 说明两个元素不分先后,可以随意

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

RioKaKo 提问者

非常感谢!
2016-02-22 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

能详细地讲解一下这段代码吗?

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