Python学习(五)—sorted排序函数

来源:互联网 发布:mac qq怎么截图 编辑:程序博客网 时间:2024/06/10 02:35

排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素xy,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序。

Python内置sorted函数可以对list进行排序。

>>> sorted([1,4,2,76,23,3,0])[0, 1, 2, 3, 4, 23, 76]
另外,sorted也是一个高阶函数,它可以接受一个比较函数来实现自定义排序。

>>> def reversed_cmp(x,y):if x > y:return -1if x < y:return 1return 0>>> sorted([1,34,2,3,46,78,0,24],reversed_cmp)[78, 46, 34, 24, 3, 2, 1, 0]
如上,定义reversed_cmp倒序排列,传入sorted对对应的list做倒序排序。

默认情况下,字符串排序是按照ASCII的大小来排序的。如下对字符串进行排序:

>>> sorted(['asd','Zasa','Dad','bdf'])['Dad', 'Zasa', 'asd', 'bdf']
如果要让字符串按照字符序列来排序,而忽略大小写,则可以定义函数忽略大小写,把字符串转换成大写或者小写进行比较即可。



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 公司注销期间发现欠税怎么办 公司注销后银行账户怎么办 注销公司营业执照和公章丢失怎么办 工商核名过期了怎么办 核名后的许可没办下来怎么办 重庆公司核名有同名的怎么办 新电视不全屏怎么办左右有黑边 所学类别找不到音乐表演怎么办 公司口头通知不续签合同怎么办 雪纺衬衣皱了怎么办 狗打架受伤怎么办泰迪 大狗打架破了怎么办 舌头上长溃疡怎么办吃什么药 悠悠球不回弹怎么办啊 围棋遇到对方不停围堵怎么办? s围棋业余四段想提升怎么办 wps禁止创建分享链接怎么办 驾驶人开车违章不认可怎么办 京东白条退货分期服务费怎么办 新车年检标丢了怎么办 异地违章罚单丢了怎么办 异地现场违章罚单丢了怎么办 新车没有牌照过停车杆怎么办 驾照换证时间过了怎么办 杭州告知单丢了怎么办 电工证过了复审日期怎么办 大人有居住证小孩没有怎么办 异地补办身份证没有暂住证怎么办 挂科了心里难受怎么办 c1升b2考不过怎么办 b2驾照扣了1分怎么办 红绿色盲驾考怎么办 驾驶证忘带被交警查了怎么办 车子被扣45分怎么办 驾照被扣在外省交警支队怎么办 从渭南把驾照转到西安怎么办 a1a2驾驶证扣3分怎么办 车辆累计扣12分怎么办 驾照扣了40分怎么办 驾驶证扣了30分怎么办 b2驾照逾期未审怎么办