Python数组排序

适用于Python数组排序的方法有很多,这里只介绍一种目前比较推荐的排序方法,即 list.sort(key=None,reverse=False)

函数的两个参数:

  1. key: 选定比较的元素,可以设置多个参数,依次比较,一般使用lambda表达式来简化排序规则;
  2. reverse:升序还是降序,默认为升序;
list.sort(key=lambda ele:len(ele),reverse=True) 
# 按元素长度顺序降序排列

list.sort(key = lambda x: (x[0], int(x[1]))) 
# 首要按x[0],若相等再按x[1]的值进行排序

值得注意的是,当进行如第二个例子那样的多级排序时,sort并不支持分别指定升序或是降序。因此在那种情况使用sort,只能先按次要元素排序,再按主要元素排序,即排序两次。

此外函数 sorted() 的用法也是类似的,但适用于更多的可迭代对象,即不限于数组。

参考资料

  • 排序指南
  • Python3 list 排序函数详解
  • Sort by multiple keys using different orderings [duplicate]
  • Python多级排序(多属性排序)csv文件

你可能感兴趣的:(Python,python)