题目
输入n个同学的姓名和年龄,将年龄从大到小排序,当年龄相同时按照姓名字典序排序
输入
第一行一个整数n
第二行到n+1行,每行一个同学的信息。姓名和年龄用空格隔开
输出
n行,排序结果
样例输入
4
yrgA 21
yrgB 21
zcSmart 22
zcHandsome 22
样例输出
zcHandsome 22
zcSmart 22
yrgA 21
yrgB 21
解法
length = int(input())
dic = {}
i = 0
while i < length:
name, age = map(str, input().split())
dic[name]=age
i += 1
L = sorted(dic.items(), key=lambda x:(-int(x[1]),x[0]))
# x[1]对应第二个参数,即年龄,加负号表示倒序,x[1]放在x[0]前面表示先对年龄倒序排序,只有年龄相同时才对姓名排序
for i in L:
print (i[0],i[1])