【发布时间】:2020-05-06 06:08:16
【问题描述】:
我有一个名为 seq 的文本字符串,其值如下:AATTDYAATTDUUAATTDAATTDAATTDAAAGATAGATAYAMMMCCMMMMMMMMM
现在我还有一个存储这些字符串的值列表:['AATTD','AGAT','MMM']。
我试图用我的代码实现的是计算列表中每个单词(不是每个字母)出现在文本中的次数 consecutively 并将字符串的计数值存储在字典中。
当我连续说时,这意味着在上面这部分文本中,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 作为计数的每个字符串。谁能帮我解决这个问题?谢谢!
【问题讨论】:
标签: python python-3.x string list for-loop