在考生文件夹下有个文件PY202.py,在省略号处填写-行或多行代码,完成如下功能:
同时,在考生文件夹下有个文件data.txt,其中记录了2019年QS全球大学排名前20名的学校信息,示例如
下:
1,麻省理工学院,美国
2,斯坦福大学,美国
3,哈弗大学,美国
第一列为排名,第2列为学校名称,第3列为学校所属的国家,字段之间用逗号’隔开。
程序读取data.txt文件内容,统计出现的国家个数以及每个国家上榜大学的数量及名称,输出结果格式示
例如下:
英国:5:牛津大学剑桥大学帝国理工学院伦敦大学学院爱丁堡大学
瑞士: 1:苏黎世联邦理工学院
参考答案
f = open('data.txt','r') dic = {}#{'中国': ['清华大学',..]} for line in f: ls = line.strip().split(",") if len(ls) == 3: dic[ls[2]] = dic.get(ls[2],[])+[ls[1]] f.close() #排序 unis = list(dic.items())#[('中国',['清华大学',..]),()] unis.sort(key=lambda x:len(x[1]),reverse=True) for d in unis: print('{:>4}: {:>4} : {}'.format(d[0],len(d[1])," ".join(d[1])))