考生文件夹下有一个源文件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()



