擅长:python、mysql、java
<p>这是我的解决办法</p>
<pre><code>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')
</code></pre>
<p>text2.txt文件中的输出为</p>
<pre><code>hyp5 hyp6 0.3333333333333333
word5 word6 0.2
word3 word4 0.2
hyp1 hyp2 0.1111111111111111
word1 word2 0.1111
hyp3 hyp4 0.07692307692307693
</code></pre>
<p>另一个例子是:</p>
<pre><code>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
</code></pre>