第一种:内建方法sort()
可以直接对列表进行排序
用法:
list.sort(func=None, key=None, reverse=False(or True))
- 对于reverse这个bool类型参数,当reverse=False时:为正向排序;当reverse=True时:为方向排序。默认为False。
- 执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点
- 为了避免混乱,其会返回none
例如:
第二种:内建函数sorted()
这个和第一种的差别之处在于:
- sorted()不会改变原来的list,而是会返回一个新的已经排序好的list
- list.sort()方法仅仅被list所定义,sorted()可用于任何一个可迭代对象
用法:
sorted(list)
- 该函数也含有reverse这个bool类型的参数,当reverse=False时:为正向排序(从小到大);当reverse=True时:为反向排序(从大到小)。当然默认为False。
- 执行完后会有返回一个新排序好的list
例如:
扩展用法:
1.Key Function:
从Python2.4开始,list.sort() 和 sorted() 都增加了一个 ‘key’ 参数用来在进行比较之前指定每个列表元素上要调用的函数。
例如:
区分大小写的字符串比较排序:
key应该是一个函数,其接收一个参数,并且返回一个用于排序依据的key。其执行效率很高,因为对于输入记录key function能够准确的被调用。
对于复杂的对象,使用对象的下标作为key。
例如: