第1个回答 2016-09-06
#-*- coding:utf-8 –*-
#读取名为data的txt文件
f = open('data.txt','r')
DATA = f.read()
#按行分割txt内容
DATA = DATA.split('\n')
#建立字典,人名为key,分数为value,分数需要使用int转换。
dataDic = {}
for i in DATA:
i = i.split(' ')
dataDic[i[0]] = int(i[-1])
#按照字典的value排序
result = sorted(dataDic.iteritems(),key=lambda t:t[1],reverse=True)
#打印结果
for i in result:
print i[0],i[1]
#结果:
#小红 100
#小明 99
#狗剩儿 95
#大明 88本回答被提问者采纳
第2个回答 2016-09-06
fn = 'xx.txt'
fd = open(fn, 'r')
lines = fd.readlines()
fd.close()
name_score = [line.split(' ') for line in lines]
name_score.sort(lambda x,y:cmp(int(x[1]), int(y[1])), reverse=True)
name_score = [' '.join(line) for line in n_s]
fd = open(fn, 'w+')
fd.writelines(name_score)
fd.close()本回答被网友采纳