题目描述
用一维数组储存学号和成绩,然后,按成绩排序输出。
输入描述
输入第一行包括一个整数 N (0 <= N < = 100),代表学生个数。
接下来N行,每行包括两个整数P和Q,分别代表每个学生的学号和成绩。
输出描述
按照学生成绩由小到大排序,如果成绩相同,则按照学号大小由小到大排序。
示例
输入
3
1 90
2 87
3 92
输出
2 87
1 90
3 92
代码
N = int(input().strip())
list1 = []
for _ in range(N):
x = list(map(int, input().split()))
list1.append(tuple(reversed(x))) #分数在前,学号在后放进列表
tuple1 = sorted(tuple(list1)) #二维元组排序
#默认按子元组首项排序,若相同则按子元组第二项排序
list2 = list(list(items) for items in list(tuple1))
#二维元组转换为二维列表
for i in list2:
print(i[1],i[0]) #学号在前,分数在后