回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在遍历一个文件,并试图确定是否在我创建的一个空列表中找到了一组特定的3项(来自该文件);如果没有,我想附加它们。如果它们已经出现,我想跳过它们</p>
<p>但是,当我运行以下代码时:</p>
<pre><code>from pprint import pprint as pp
targets = open(file)
longest_UTR = []
counter = 0
for line in targets:
(chromosome, locus, mir, gene, transcript, UTR_length) = line.strip("\n").split("\t")
if [locus, mir, gene] not in longest_UTR:
longest_UTR.append([locus, mir, gene, transcript, UTR_length])
counter += 1
if counter == 100:
break
pp (longest_UTR)
</code></pre>
<p>我发现输出包含重复项,即它没有跳过项目组,即使它们出现在空列表中(如下面的箭头所示)</p>
<pre><code>['CFI', 'hsa-miR-576-5p', 'DIS3', 'ENST00000490646', '2934'],
['APOE', 'hsa-miR-642a-5p', 'WDR64', 'ENST00000425826', '2122'],
>['C2/CFB/SKIV2L', 'hsa-miR-219a-1-3p', 'GLG1', 'ENST00000422840', '4748'],
['C2/CFB/SKIV2L', 'hsa-miR-219a-1-3p', 'GLG1', 'ENST00000422840', '4748']<,
['APOE', 'hsa-miR-330-3p', 'DCAF4L1', 'ENST00000333141', '4764'],
['TMEM97/VTN', 'hsa-miR-144-3p', 'DCAF4L1', 'ENST00000333141', '4764']]
</code></pre>
<p>我想知道为什么会出现这种情况。多谢各位</p>