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