print('简单实例'.center(40,'='))
students = [('john', 'A', 15), ('jane', 'C', 12), ('dave', 'B', 10),('lili', 'B', 18)]
# 第一种按姓名排序,从大到小
sname = sorted(students,reverse = True)
print(sname)
# 第二种按等级排序,默认从小到大
sgrade = sorted(students,key = lambda student:student[1])
print(sgrade)
# 第三种按成绩排序,默认从小到大
students.sort(key = lambda student:student[2])
print(students)
print('高级比较'.center(40,'='))
students2 = [('john', 'A', 30), ('jane', 'C', 12), ('lili', 'B', 18), ('dave', 'A', 20), ('tony', 'C', 18)]
students2.sort(key=lambda student:student[1])
print('做参照的',students2)
for num in range(len(students2)-1):
if students2[num][1] == students2[num+1][1] and students2[num][2] > students2[num+1][2]:
students2[num],students2[num+1] = students2[num+1],students2[num]
print('最终结果',students2)
print('拓展'.center(40,'='))
students3 = [('john', 'A', 30), ('jane', 'C', 10), ('lili', 'B', 18), ('jane', 'A', 20), ('tony', 'C', 18),('jane', 'C', 30)]
students3.sort(key=lambda student:student[0])
print('做参照的',students3)
for num in range(len(students3)-1):
for i in range(len(students3[0])-1):
if students3[num][i] == students3[num+1][i] and students3[num][i+1] > students3[num+1][i+1]:
students3[num],students3[num+1] = students3[num+1],students3[num]
print('最终结果',students3)
print('好牛的方法'.center(40,'='))
st = [('jo','A', 15), ('ja','B', 12), ('da','B', 10),('jo','A', 10),('da','C', 5)]
def add(x):
return x[0],x[1],x[2]
print(sorted(st,key=add))