У меня есть строка текста с именем seq, которая имеет такие значения: AATTDYAATTDUUAATTDAATTDAATTDAAAGATAGATAYAMMMCCMMMMMMMMM
Теперь у меня также есть список значений, в котором хранятся эти строки: ['AATTD','AGAT','MMM']
. Что я пытаюсь достичь с помощью своего кода, так это подсчитать, сколько раз каждое слово (не каждая буква) в списке появляется в тексте последовательно и сохранять значения счетчика строки в словаре.
Когда я говорю последовательно, это означает, что в этой части текста выше, AATTDYAATTDUUAATTDAATTDAATTD
, значение для значения AATD
должно быть только 3, потому что другие 2 разделены Y
и UU
раздельно.
Вот что я сделал с моим кодом на данный момент:
count = 0
list1 = ['AATTD','AGAT','MMM']
length = len(list1) # The length of the list
print(length)
seq = open(filepath, "r") # open the file that has the string of text
seq = seq.read()
for i in range(len(seq)):
for j in list1:
while (seq[i:len(j)] == len(j) ):
if seq[i:len(j)] == j:
count += 1
print (j, count)
Но это похоже на печать каждой строки со всеми 0 в качестве счетчиков. Может кто-нибудь помочь мне с этой проблемой? Спасибо!