python在2.4版本之后加入了使用关键字排序的功能。sort()以及sorted()均可使用关键字排序。
在2.6版本后python简化了关键字排序的使用方法,主要分为三类关键字使用方法:
from operater import *
# 假装我创建了一个类,里边有name,grade,age属性。
student = [('xiaoliu', 'A',17),('xiaozhang','A',15), ('xiaobai', 'B', 10), ('xiaolan', 'B', 12)]
# 根据索引来指定关键字
sorted(student, key = itemgetter(1))
# 根据对象的属性来指定关键字
sorted(student, key = attrgetter('age'))
# 根据类方法指定关键字,排序方法根据类方法的返回值进行排序
# weighted_grade是一个类方法
sorted(student, key=methodcaller('weighted_grade'))
使用关键字进行排序时,对于相同关键字的几个条目,会保留它们在本次排序前的顺序。