擅长:python、mysql、java
<p>您正在使用以下行:</p>
<pre><code>data = file.readlines()
for tmp in data:
</code></pre>
<p>它已经将数据拆分成行,并在其中迭代。这意味着这行[<code>data2= [word.rstrip("\n") for word in data]</code>]每次都将<code>data2</code>设置为第一行,这使得原来的for循环无效。在</p>
<p>试试看:</p>
^{pr2}$
<p>它将在迭代时拆分每一行,现在可以将<code>tmp</code>作为一个列表调用,就像您调用<code>first</code>一样,但它将反映每一行的值。在</p>
<p>也可以将原始for循环更改为:</p>
<pre><code>for tmp in file:
</code></pre>
<p>因为python中的文件对象是生成每一行的生成器(这样可以节省一些内存空间)</p>