Я перебираю файл и пытаюсь определить, найден ли определенный набор из 3 элементов (из файла) вместе в пустом списке, который я создал; если нет, я хотел бы добавить их. Если они уже появляются, я хотел бы пропустить их.
Однако, когда я запускаю следующий код:
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)
Я обнаружил, что вывод содержит дубликаты, то есть он не пропустил группу элементов, даже если они появляются в пустом списке (как показано стрелками ниже).
['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']]
Я хотел бы получить некоторые указания относительно того, почему это может иметь место. Спасибо.