擅长:python、mysql、java
<p>如果输入看起来像注释中描述的那样,则为运行示例:</p>
<pre><code>from heapq import nlargest
test_str = """ ['katy'] 30
['max'] 45
['A'] 31
['B'] 4
['D'] 1
['C'] 15
['E'] 333"""
numbers = [float(line.rstrip().split("]")[1]) for line in test_str.split("\n")]
largest = nlargest(5, numbers)
print(largest)
</code></pre>
<p>在您的情况下,您可以这样做:</p>
<pre><code>from heapq import nlargest
with open("winnernum.txt", "r") as f:
numbers = [float(line.rstrip().split("]")[1]) for line in f.readlines()]
largest = nlargest(5, numbers)
print(largest)
</code></pre>
<h2>编辑</h2>
<p>避免空行或不带“]”的行</p>
<pre><code>numbers = []
with open("winnernum.txt", "r") as f:
for line in f.readlines():
split = line.rstrip().split("]")
if len(split) > 1:
numbers.append(float(split[1]))
</code></pre>