在 python 语言的内置对象中存在两个比较常用的排序函数:sort、sorted,另外常用的科学计算库 numpy 中的 也提供了很多的排序支持。本小节主要说明内置排序方法 sort、sorted 的使用场景,后续篇幅中会针对 numpy 的使用进行说明。1、sort() 函数的简单使用
特点:sort() 函数只有在 list 列表的对象中才可以使用,直接该表列表本身的顺序不会生成新的列表对象,字符串按照 ASCII 码进行排序、中文按照 unicode 编码进行从小到大的排序。
默认不使用可选参数进行排序
1if __name__ == '__main__': # 定义列表 list_ = [('e',2),('a',1),('c',3),('d',4)] # 执行排序 list_.sort(cmp=lambda m,n:cmp(m[1],n[1])) # 结果 print list_
lambda 表达式说明:lambda m,n:cmp(m[1],n[1]) 表示元素对象的第1个位置也就是 2,1,3,4 之间进行比较后返回升序的新迭代对象。
2、sorted() 函数参数的妙用
特点:sorted(iterable,cmp,key,reverse)函数可以对可迭代的序列进行排序,并且返回一个新的对象、不对原有的列表对象进行修改。
默认不使用可选参数进行排序
1if __name__ == '__main__': # 定义列表 list_ = [('e',2),('a',1),('c',3),('d',4)] # 执行排序 list_2 = sorted(list_,cmp=lambda m,n:cmp(m[0],n[0])) # 结果 print list_2
lambda 表达式说明:lambda m,n:cmp(m[0],n[0]) 表示元素对象的第0个位置也就是 e,a,c,d 之间进行比较后返回升序的新迭代对象。
使用可选参数 reverse 进行排序,从大到小排序
Python 集中营
分享编程技术、还原编程思想
原创技术|编程实战|学习社区