题目:

1 第一行输入人员数
2 第二行到第N行(小于等于100),每行输入三个变量,第一个名称,第二个人员编号,第三个数量
3
4 要求:
5 1.先按照名称从小到大排序
6 2.名称相同,按照数量排序
7 3.数量相同按照人员编号排序
8
9 例:
10 输入:
11
12 3
13 cc 3 11
14 aa 3 22
15 aa 2 22
16 ab 1 33
17
18 输出:
19 aa 2 22
20 aa 3 22
21 ab 1 33
22

 

 

答案:

1 import sys
2 if __name__ == "__main__":
3 # 第一行的n
4 n = int(sys.stdin.readline().strip())
5 toallList = []
6 for i in range(100):
7 # 读取每一行
8 line = sys.stdin.readline().strip()
9 # 转成列表
10 values = list(map(str, line.split()))
11
12 toallList.append(values)
13 if line == '' :
14 break
15 toallList.pop()
16 #排序
17 toallList.sort(key=lambda i: i[1], reverse=False)
18 toallList.sort(key=lambda i: i[2], reverse=False)
19 toallList.sort(key=lambda i: i[0], reverse=False)
20
21 for i in range(len(toallList)):
22 print(toallList[i][0],toallList[i][1],toallList[i][2])