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

它们的大小关系

about 不是应该比 bob 大吗,怎么排序的啊?

正在回答

2 回答

sorted()是高阶函数,可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。'a'的ASCII码是97,'b'的ASCII码是98,由首字母的ASCII码进行比较,根据自定义的比较函数进行排序。

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

weibo_墨鸦墨鸦1_mrAN04 提问者

是呢,它们不是按照ascll码加起来吗?那bob不是要小于about吗
2018-11-16 回复 有任何疑惑可以回复我~

高阶函数sorted()不是按照ASCII码加起来进行排序的,而是从首字母开始进行ASCII码排序,就像手机电话通讯录里面的联系人,按照联系人的姓名首字母进行归类排序,而不是按照联系人姓名的ASCII码加起来进行排序,这样的排序算法和数学里面的数字大小比较不一样的(数学中1<12<123...,而排序中先从首字母进行比较:拿'a'、'ab'、'b'进行比较,首字母ASCII码:a(97)<b(98),如果按照从小到大排序,'a'和'ab'就排在'b'前面了,而'a'与'ab'首字母一样,接着比较第二个,由于'a'没有第二个字母了而'ab'含有第二个字母,因此'a'就排在'ab'前面了,最终所得的从小到大的顺序应该是:'a'、'ab'、'b')

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

举报

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

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

进入课程

它们的大小关系

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