博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 自定义排序函数
阅读量:7038 次
发布时间:2019-06-28

本文共 923 字,大约阅读时间需要 3 分钟。

自定义排序函数Python内置的 sorted()函数可对list进行排序:>>>sorted([36, 5, 12, 9, 21])[5, 9, 12, 21, 36]但 sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。因此,如果我们要实现倒序排序,只需要编写一个reversed_cmp函数:def reversed_cmp(x, y):    if x > y:        return -1    if x < y:        return 1    return 0这样,调用 sorted() 并传入 reversed_cmp 就可以实现倒序排序:>>> sorted([36, 5, 12, 9, 21], reversed_cmp)[36, 21, 12, 9, 5]sorted()也可以对字符串进行排序,字符串默认按照ASCII大小来比较:>>> sorted(['bob', 'about', 'Zoo', 'Credit'])['Credit', 'Zoo', 'about', 'bob']'Zoo'排在'about'之前是因为'Z'的ASCII码比'a'小任务对字符串排序时,有时候忽略大小写排序更符合习惯。请利用sorted()高阶函数,实现忽略大小写排序的算法。输入:['bob', 'about', 'Zoo', 'Credit']输出:['about', 'bob', 'Credit', 'Zoo']def cmp_ignore_case(s1, s2):    t1=s1.lower();    t2=s2.lower();    if(t1>t2):        return 1    if(t1==t2):        return 0    return -1print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)

 

转载地址:http://exnal.baihongyu.com/

你可能感兴趣的文章
深入理解Java内存模型(五)——锁
查看>>
阿里云发布迁移解决方案,“迁移上云”这件事有专业的人做
查看>>
服务化改造的云上利器 | 阿里云 EDAS 重大升级发布
查看>>
火眼发布Windows***工具集
查看>>
react绑定事件教学
查看>>
Struts2工作原理以及核心思想
查看>>
python如何学习(三)
查看>>
基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践
查看>>
OC继承 和 多态
查看>>
工作中实用给力的shell命令
查看>>
FOSCommentBundle功能包:设置Doctrine ODM映射
查看>>
【读书分享】职场真的“黑暗”吗?——彼得原理
查看>>
php-fpm.log(notice级别的警告)
查看>>
Mysql用户授权
查看>>
mysql show 语句
查看>>
借助 Debugging Tools 分析蓝屏故障原因
查看>>
salt平台完善正则匹配
查看>>
如何在ubuntu中安装zlib和zlib-devel
查看>>
python的一些模块
查看>>
你的对象是在玩你,还是在爱你
查看>>