擅长:python、mysql、java
<p>您希望fastfile字典的值是字符串而不是列表,因此不需要将连续序列附加到正在运行的列表,而是需要将它们连接到正在运行的字符串:</p>
<pre><code>fastfile = {}
with open(sys.argv[1]) as f:
for line in f:
line = line.strip()
if not line:
continue
if line[0] == "@":
sequencenumber = line[1:]
if sequencenumber not in fastfile:
fastfile[sequencenumber] = ""
continue
fastfile[sequencenumber] += line
output = []
for key, value in fastfile.items():
if len(value) >= sys.argv[2]:
output.append(value)
print (output)
</code></pre>
<p>或者,如果您需要像最初那样将字符串存储在列表中,则使用<code>"".join(value)</code>将所有字符串连接在一起,如下所示:</p>
<pre><code>output = []
for key, value in fastfile.items():
if len("".join(value)) >= sys.argv[2]:
output.append("".join(value))
output
</code></pre>