擅长:python、mysql、java
<p>此一次性版本按标题在文件中出现的顺序打印每个标题的前10个:</p>
<pre><code>import sys
NUM_TO_PRINT=10 # good practice - use names rather than raw numbers
blastfile = open(sys.argv[1],"r")
titles={}; # an empty dictionary.
# This will map titles to counts of how many times a line with that title
# has been printed.
for line in blastfile:
title = line.split()[0]; # assuming the title is space-delimited, and that the line is not empty
num_printed = titles.get(title, 0); # 0 is the default
if num_printed<NUM_TO_PRINT:
print line, # comma because _line_ already has a newline - without the comma, you get a blank line after every printed line
num_printed += 1
titles[title] = num_printed # save where we are
</code></pre>