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

小菜鸟提问

搞不懂变成大写后返回-1,1,0跟排序有什么关系

正在回答

2 回答

因为sorted函数,会对1,-1,0这三个返回的值进行排序。比如一个list里面[10,2,8],sorted函数先把 10和2 比较,结果10>2,则返回 1 ,这样sorted函数接收到了1之后就知道要把2放到10前面做个排序了。同样,对于字符串也是这样,全部转换成了大写之后就可以直接比较unicode码的大小来进行排序了

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

丶子非鱼 提问者

非常感谢!
2016-10-22 回复 有任何疑惑可以回复我~
sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,
传入两个待比较的元素 x, y,
如果 x 应该排在 y 的前面,返回 -1,
如果 x 应该排在 y 的后面,返回 1。
如果 x 和 y 相等,返回 0。

如下:
[10,2,11,8,8]

{10>2}-->|Y|
{10>11}-->|N|
{11>8}-->|Y|
{11>8}-->11=1  最大

{10>2}-->|Y|
{10>8}-->|Y|
{10>8}-->10=1 第二大

{2>8}-->|N|
{8>8}--> 相等就返回0 

最小的 2=-1


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

举报

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

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

进入课程

小菜鸟提问

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