Я пытаюсь извлечь только строки в файле, которые содержат строку в списке, например, MSTRG.2 находится в моем списке, я хочу иметь строку, которая содержит это, в моем выходном файле. Я использовал приведенный ниже код, но по какой-то причине извлекаемые строки не обязательно содержат строку в списке.
id_list = []
for line in gff_compare:
split_line = line.strip().split('\t')
class_code = split_line[2]
if class_code == 'u':
if split_line[3] not in id_list:
id_list.append(split_line[3])
for line in feature_counts:
split_line_2 = line.strip().split('\t')
string_ids = split_line_2[0]
if any(s in string_ids for s in id_list):
outfile.write(line)
outfile.close()
id_list
содержит только 1511 элементов, тогда как outfile
имеет более30000 строк (содержит строки, которые имеют строку в списке, и строки, которые не имеют строки в списке). Не могу понять, почему он не только вытаскивает строки, которые я хочу, основываясь на строках в списке.