3 回答
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
TA贡献1886条经验 获得超2个赞
这是我的解决方案
import re
def my_sort(val):
pattern = r'[0-9]+\.[0-9]+'
p = re.findall(pattern, val)
return float(p[0])
with open('test.txt', 'r') as f:
txt = f.read()
pattern1 = r'[a-z]+[0-9]* [a-z]+[0-9]* [0-9]+\.[0-9]+'
p1 = re.findall(pattern1,txt)
p1.sort(key=my_sort)
result = p1[::-1]
with open('text2.txt','w') as f:
for i in result:
f.write(i+'\n')
文件 text2.txt 中的输出是
hyp5 hyp6 0.3333333333333333
word5 word6 0.2
word3 word4 0.2
hyp1 hyp2 0.1111111111111111
word1 word2 0.1111
hyp3 hyp4 0.07692307692307693
另一个例子:
tear sight 0.1111111111111111
pulled spectacle 0.1111111111111111
statement black 0.1111111111111111
past woman 0.1
section black 0.1
tom answer 0.09090909090909091
man astonishment 0.09090909090909091
answer tom 0.09090909090909091
old lady 0.08333333333333333
boy wonder 0.08333333333333333
chapter tom 0.08333333333333333
turkey statement 0.058823529411764705
添加回答
举报