python教程:[74]列表排序
列表排序,做数据经常用到的一个方法,在python中想实现排序有时候觉得挺难,比如按照行排序或按照列排序,写起来都不简单,今天在这里总结一下在python中实现排序的所有方法,如有不全,请下面留言。
1,简单排序
- 01
最简单的排序莫过于直接使用sort对一维的列表排序,创建一个列表
- 02
使用sort就地排序(就地排序就是改变了原始list的排序,而sorted不改变原始list数据)
- 03
可以使用reverse参数进行反向排序。
2,二维列表排序
- 01
创建一个二维列表
- 02
使用operator进行排序,还是sort方法,使用key参数,下面根据第二列数据排序
- 03
多维排序,先根据第一列排序,然而第二列,然后第三列
3,使用lambda函数
- 01
lambda函数的排序效率低于operator,所以这个方法可以忽略,但有时候可以实现一些复杂的排序。简单的大小排序用operator,operator无法实现再用lambda
- 02
lambda用于写匿名函数,根据第二列数据排序,x表示列表中的元素,x[1]表示元素中的第二个值
- 03
反向排序
4,元组排序
- 01
元组排序和list排序一样,当然还可以对object构成的列表排序,下面创建一个元组构成的列表
- 02
使用operator
- 03
使用lambda
5,根据行排序
- 01
上讲的都是根据列的值对行进行的排序,如何根据行的值对列进行排序,我以前觉得numpy中的sort函数可以实现,但是numpy中的sort是对每一行单独的排序,也就是割裂了每列数据的关系,将每一行单独拿出来,进行排序,然后再对下一行进行排序。所以目前我还不知道如何根据行值对列进行排序,除非写复杂的函数。
赞 (0)