1. 数字排序


2. 字符串排序



3. 对特殊的list排序,即list内部是元组,如 L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

上图中,sorted(L, key=itemgetter(0)),即按照每个元组的第一个元素对所有元组进行排序。sorted(L, key=itemgetter(1)),即按照每个元组的第二个元素对所有元组进行排序。 sorted(L, key=itemgetter(1),reverse = True),即按照每个元组的第二个元素对所有元组逆序排序。

廖雪峰官网例题:

#sortedByName.py
class Solution:
def by_name(self, t): #按照姓名排序
return t[0]
def by_score(self, t): #按照成绩排序
return t[1]
if __name__ == "__main__":
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
print("原始序列", L)
ss = Solution()
L2 = sorted(L, key = ss.by_name)
print("按照姓名排序",L2)
L3 = sorted(L, key = ss.by_score)
print("按照成绩排序",L3)
L4 = sorted(L, key = ss.by_score, reverse = True)
print("按照成绩逆序排序",L4)

4. 使用sorted()函数进行多级排序
例如:
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=operator.itemgetter(1,2)) #根据第二个域和第三个域进行排序

网友评论