Python学习之sort与sorted
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python学习之sort与sorted,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1070字,纯文字阅读大概需要2分钟。
内容图文
![Python学习之sort与sorted](/upload/InfoBanner/zyjiaocheng/1058/a094e72822b44dad997209b60f5239a5.jpg)
>>> a=[9,8,7,6,5,4,3,2,1] >>> a.sort() >>> a >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> b=[9,8,7,6,5,4,3,2,1] >>> c=sorted(b) >>> b [9,8,7,6,5,4,3,2,1] >>> c [1, 2, 3, 4, 5, 6, 7, 8, 9]
由以上可知,list.sort()方法会按照升序将列表重新排列,不会保留原列表。
而sorted()会返回副本,原始输入不变。
sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素x,y,如果x应该排在y前面,则返回-1;如果x应排在y后面,则返回1;如果x与y相等,则返回0。
因此,如果要实现倒序排列,只需编写一个reverse_cmp函数:
def reversed_cmp(x, y): if x > y: return -1 if x < y: return 1 return 0
如此,调用sorted()并传入reverse_cmp就可以实现倒序排列:
>>> sorted([36, 5, 12, 9, 21], reversed_cmp) [36, 21, 12, 9, 5]
任务:
对该字符串排序,忽略大小写
输入:[‘bob‘, ‘about‘, ‘Zoo‘, ‘Credit‘]
输出:[‘about‘, ‘bob‘, ‘Credit‘, ‘Zoo‘]
思路:
sorted()对字符串排序时,默认按照ASCII码大小比较,顺序是A,B,C...X,Y,Z...a,b,c...x,y,z
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)
原文:http://www.cnblogs.com/tzuxung/p/6193467.html
内容总结
以上是互联网集市为您收集整理的Python学习之sort与sorted全部内容,希望文章能够帮你解决Python学习之sort与sorted所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。