python list按照某个字段排序,python list 排列组合_1

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: