data. txt,其中记录了2019年QS全球大学排名前20名的学校信息,示例如下:
1,麻省理工学院,美国
2,斯坦福大学,美国
3,哈佛大学,美国
第一列为排名,第2列为学校名称,第3列为学校所属的国家,字段之间用逗号’,'隔开
程序读取data.txt文件内容,统计出现的国家个数以及每个国家上榜大学的数量及名称,输出结果格式示例如下:
示例
美国: 11 : 麻省理工学院,斯坦福大学,哈佛大学,加州理工学院,芝加哥大学,普林斯顿大学,康奈尔大学,耶鲁大学,哥伦比亚大学,宾夕法尼亚大学,密歇根大学安娜堡分校
英国: 5 : 牛津大学,剑桥大学,帝国理工学院,伦敦大学学院,爱丁堡大学
…
f = open('data.txt', 'r',encoding='utf-8') # 读取文本
lines=f.readlines()
unis = {"美国": [], "英国": [], "瑞士": [], "新加坡": [], "中国": []} # 创建字典
for line in lines: # 遍历文本
if line == "\n": # 如果文本是空行就跳过
continue
else:
text = line.split(",") # 用逗号分割文本
unis[text[2][:-1]].append(text[1]) # 将学校名称添加到字典值的列表中,text[2][:-1]去掉国家文本尾部换行符号
f.close()
for d in unis:
print('{:>4}: {:>4} : {}'.format(d, len(unis[d]), ",".join(unis[d]))) #d是字典的每个键。