在考生文件夹下有个文件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])))