python list按照某个字段排序,python list 排列组合
对List进行排序,Python提供了两个方法:
方法1、用List的内建函数list.sort进行排序
List.sort (func=none,key=none,reverse=false) Python实例:
list=[2,5,8,9,3]
目录
[2,5,8,9,3]
list.sort()
目录
方法2、用序列类型函数sorted(list)进行排序
Python实例:
list=[2,5,8,9,3]
目录
[2,5,8,9,3]
已排序(列表)
两种方法的区别:
Sorted(list)返回一个可用作表达式的对象。原始列表不变,并生成一个新的有序列表对象。
List.sort()不会返回一个对象,改变原来的列表。
其他sort的实例:
示例1:向前排序
L=[2,3,1,4]
L.sort()
英语字母表中第十二个字母
例2:反向排序
L=[2,3,1,4]
L.sort(reverse=True)
英语字母表中第十二个字母
[4,3,2,1]例3:排序第二个关键字
L=[(b ,6),( a ,1),( c ,3),( d ,4)]
L.sort(lambdax,y:cmp(x[1],y[1]))
英语字母表中第十二个字母
[(a ,1),( c ,3),( d ,4),( b ,6)]例4:对第二个关键字排序
L=[(b ,6),( a ,1),( c ,3),( d ,4)]
l . sort(key=x : x[1])
英语字母表中第十二个字母
[(a ,1),( c ,3),( d ,4),( b ,6)]例5:对第二个关键字排序
L=[(b ,2),( a ,1),( c ,3),( d ,4)]
进口经营者
l . sort(key=operator . item getter(1))
英语字母表中第十二个字母
[(a ,1),( b ,2),( c ,3),( d ,4)]例6: (DSU法:修饰-排序-承接)
L=[(b ,2),( a ,1),( c ,3),( d ,4)]
A=[(x[1],I,x)fori,Xin enumerate(L)]# icanfirmthestablesort
排序()
对中国来说
英语字母表中第十二个字母
[(a ,1),( b ,2),( c ,3),( d ,4)]以上给出了6中List排序的方法,其中实例3.4.5.6可以将List item中的一项作为比较键进行排序。
效率比较:
通过实验对比,PDSukey表明方法3比方法6慢,方法6比方法4慢,方法4和方法5基本相同。
多关键字比较排序:
示例7:
L=[(d ,2),( a ,4),( b ,3),( c ,2)]
l . sort(key=x : x[1])
英语字母表中第十二个字母
[(d ,2),( c ,2),( b ,3),( a ,4)]我们看到排序后的L只按第二个关键字排序。如果我们想先按第二个关键字排序,再按第一个关键字排序呢?有两种方法。
实施例8:
L=[(d ,2),( a ,4),( b ,3),( c ,2)]
l . sort(key=x :(x[1],x[0]))
英语字母表中第十二个字母
[(c ,2),( d ,2),( b ,3),( a ,4)]例9:
L=[(d ,2),( a ,4),( b ,3),( c ,2)]
l . sort(key=operator . item getter(1,0))
英语字母表中第十二个字母
[(c ,2),( d ,2),( b ,3),( a ,4)]为什么例8行得通?原因是tuple是从左到右比较的。比较完第一个,如果相等,再比较第二个。
热门IT软件开发工作室,大量免费python视频教程,欢迎在线学习!
本文转自:https://www.jianshu.com/p/d2e5bd808032
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。