题目描述
data.txt文件内容所示
代码实现
f = open('data.txt','r')
dic={}#定义一个字典
for line in f:#按照逐行遍历
lis=line.strip().split(",")#去除掉换行符(空格包括换行符、空格),然后再以逗号为分隔标志形成一个列表
if len(lis)<3:#由于每行遍历的时候,根据给出的文档可以看出,还有的行有空格,所以对于有空行的行要去除
continue
dic[lis[-1]]=dic.get(lis[-1],[])+[lis[1]]#以国家名称为键,以大学的名称为值,此时的值可能有多个,所以存储在列表中
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])))