Python数组排序

Posted by AspenStars on April 16, 2020

Python排序

sort

  1. 函数原型: sort(*, key=None, reverse=False)
  2. 描述
    • 对列表进行原地排序,默认使用 < 来进行各项间比较
    • 通过key指定排序的关键字
    • key = str.lower
    • key = lambda x : x[1] # 以多维里的第二维为准排序 - reverse 如果设为 True,则每个列表元素将按反向顺序比较进行排序
  3. 性质
    • 原地修改该序列,不会有返回值
    • 是稳定排序,可以进行多重排序
  4. 实例
    1
    2
    
     my_list = [(1,93),(2,71),(3,89),(4,93),(5,85),(6,77)]
     my_list.sort(key=lambda x:x[1])
    

sorted

  1. 函数原型: sorted(iterable, *, key=None, reverse=False)
  2. 描述
    • 默认使用 < 来进行各项间比较
    • 根据 iterable 中的项返回一个新的已排序列表
    • 通过key指定排序的关键字
    • key = str.lower
    • key = lambda x : x[1] # 以多维里的第二维为准排序 - reverse 如果设为 True,则每个列表元素将按反向顺序比较进行排序
  3. 性质
    • 有返回值,不改变原数据
    • 是稳定排序,可以进行多重排序
  4. 实例
    1
    2
    
     my_list = [(1,93),(2,71),(3,89),(4,93),(5,85),(6,77)]
     new_list = sorted(my_list, key=lambda x:x[1])
    

直接对list逆序

1
my_list.reverse()