f = open('data.txt', 'r',encoding="utf-8")
unis ={}forlinein f:
if line.strip(): #跳过空行的第一种方法
line = line.strip().split(',')
unis[line[2]]= unis.get(line[2],[]) + [line[1]]fordin unis:
print('{:>4}: {:>4} : {}'.format(d,len(unis[d]),",".join(unis[d])))
本人代码(使用append()函数对values列表进行操作)
f = open('data.txt', 'r',encoding="utf-8")
unis ={}forlinein f:
if line.strip(): #因为存在空行
line = line.strip().split(',')#虽然去掉空行了,但是因为存在换行,所以行尾都有\n,故使用strip()函数
country = line[2]
scholl = line[1]if country not in unis: #如果字典中没有对应的国家,那么就写入一个新的key,value对
unis[country]=[scholl]#因为list才能使用append(),所以这里加了[]
else:
unis[country].append(line[1])#如果学校是同一个国家的,那么就在对应国家后面增添一个values值fordin unis:
print('{:>4}: {:>4} : {}'.format(d,len(unis[d]),unis[d]))