考生文件夹下有一个源文件PY202.py和一个文本文件,该文件是本题目的代码提示框架,其中代码可以
任意修改。请在该文件中编写代码,实现以下功能:
文件“singup.xt”中保存了若干条参加运动会学生的报名记录,每条记录的形式为“班级号_学号”,例
如“A1_12”,将每个班级报名情况按参加运动会人数从多到少排列(假设不存在人数相同的情况)并输出结
果如下:
A1->[’12’,’05’,’07’04’]
A4->[23′,’03’,’11]
A3->[’12’,’01]
A2->[’07’]
参考答案
- def proc(stu_list):
- #stu_list:['A1_12\n', 'A4_23\n']
- d = {}#{'A1': ['12', '05', '07', '04']}
- for item in stu_list:
- #item:'A1_12\n'
- a,b = item.split("_")#a='A1',b='12\n'
- b = b.strip()#b='12'
- if a in d:
- d[a] += [b]
- else:
- d[a] = [b]
- print("d==",d)
- lst = sorted(d.items(), key = lambda d:len(d[1]), reverse = True)
- return lst
- f = open("signup.txt","r")
- stu_list = f.readlines()#['A1_12\n', 'A4_23\n']
- print(stu_list)
- #[('A1', ['12', '05', '07', '04'])]
- result = proc(stu_list)
- print("result",result)
- for item in result:
- print(item[0], '->', item[1])
- f.close()