适用于Python数组排序的方法有很多,这里只介绍一种目前比较推荐的排序方法,即 list.sort(key=None,reverse=False)
。
函数的两个参数:
key
: 选定比较的元素,可以设置多个参数,依次比较,一般使用lambda表达式来简化排序规则;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()
的用法也是类似的,但适用于更多的可迭代对象,即不限于数组。