<p>我有一个包含以下数据的文件:</p>
<pre><code>line EF1 1 F Flu 5.7 3.221 9.332
line A2 1 C Car 3.2 5.22 1.22
line A1 1 C Car 3.11 4.21 2.13
line HF1 1 H Hyd 7.11 5.11 7.11
line EE2 1 F Flu 5.7 3.221 9.332
line A2 2 C Car 3.2 5.22 1.22
line EF1 2 F Flu 5.7 3.221 9.332
line EE2 2 F Flu 5.7 3.221 9.332
line A1 2 C Car 3.11 4.21 2.13
line HE2 2 H Hyd 7.11 5.11 7.11
</code></pre>
<p>…1000多行。在</p>
<p>这里第3列表示链号。
现在我创建了不同的列表,分别命名为:<code>EF</code>、<code>EE</code>、<code>H</code>和{<cd4>}。
我想做的是,如果<code>EF1</code>和<code>HE1</code>都来自同一个<code>chain number</code>,那么在<code>'EF list'</code>中写{<cd8>},在{<cd11>}中写{<cd10>}。另一方面,如果在同一个<code>chain number</code>中只有<code>'EF1'</code>而没有{<cd6>},那么就把它写进<code>'ace list'</code>。在</p>
<p>期望输出为:</p>
^{pr2}$
<p>现在我试着</p>
<pre><code>inp = filename.read().strip().split('\n')
for line in map(str.split,inp):
codeName = line[1]
shortName = line[3]
</code></pre>
<p>现在作为一个菜鸟,我真的很困惑,我如何才能构造一个<code>if loop</code>来完成这个检查。<br/>
请提供一些想法,我如何才能在这方面取得进展!!
(我第一次被误认为是格式错误。纠正了!)在</p>
<p>您的代码需要看起来更像这样:</p>
<pre><code>with open(filename) as inp:
for line in inp:
tokens = line.split()
codeName = tokens[1]
shortName = tokens[3]
</code></pre>
<p>您根本无法打开文件,map()也没有真正帮助您。在</p>