Python问题来计算连续出现的字符串的值

问题描述 投票:0回答:4

我有一串名为seq的文本,其值如下:AATTDYAATTDUUAATTDAATTDAATTDAAAGATAGATAYAMMMCCMMMMMMMMM

现在,我还有一个存储这些字符串的值列表:['AATTD','AGAT','MMM']。我想用我的代码实现的目的是计算列表中的每个单词(不是每个字母)出现在文本连续中的次数,并将该字符串的计数值存储在字典中。

[当我连续说时,这意味着在以上文本的这一部分中,AATTDYAATTDUUAATTDAATTDAATTD,值AATD的计数应仅为3,因为其他2个分别由YUU分开。

到目前为止,这是我对代码所做的事情:

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
4个回答
0
投票

使用re.findall的一种方法:


0
投票

如果我正确理解期望的结果,可以通过以下方式实现:


0
投票

在python中使用regex默认软件包。


0
投票

实际上您可以使用count

© www.soinside.com 2019 - 2024. All rights reserved.