排序指南
-
基础排序
- sorted()
- list.sort()
-
关键函数:
list.sort() 和 sorted() 都有一个 key 形参用来指定在进行比较前要在每个列表元素上调用的函数(或其他可调用对象) -
Operator模块
- itemgetter: sorted(student_tuples,key=itemgetter(2))
- attrgetter: sorted(student_objects,key=attrgetter('grade','age'))
-
升序和降序
- reverse=True
-
排序稳定性和排序复杂度
- 排序保证是稳定的
- 当多个纪录具有相同的键值时候,将保留原始的顺序