首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环时不追加所有项

循环时不追加所有项
EN

Stack Overflow用户
提问于 2016-03-24 14:54:27
回答 1查看 25关注 0票数 0
代码语言:javascript
复制
def PatternMatching(Pattern, Genome):
    positions = [] # output variable    
    for i in range(len(Genome)-len(Pattern)+1):    
        if Genome[i:i+len(Pattern)] == Pattern:
            print(i, Pattern)
            positions.append(Genome.index(Pattern))    
    return positions
# Now, set Text equal to the oriC of Vibrio cholerae and Pattern equal to "TGATCA"
Pattern = "TGATCA"
Genome="ATCAATGATCAACGTAAGCTTCTAAGCATGATCAAGGTGCTCACACAGTTTATCCACAACCTGAGTGGATGACATCAAGATAGGTCGTTGTATCTCCTTCCTCTCGTACTCTCATGACCACGGAAAGATGATCAAGAGAGGATGATTTCTTGGCCATATCGCAATGAATACTTGTGACTTGTGCTTCCAATTGACATCTTCAGCGCCATATTGCGCTGGCCAAGGTGACGGAGCGGGATTACGAAAGCATGATCATGGCTGTTGTTCTGTTTATCTTGTTTTGACTGAGACTTGTTAGGATAGACGGTTTTTCATCACTGACTAGCCAAAGCCTTACTCTGCCTGACATCGACCGTAAATTGATAATGAATTTACATGCTTCCGCGACGATTTACCTCTTGATCATCGATCCGATTGAAGATCTTCAATTGTTAATTCTCTTGCCTCGACTCATAGCCATGATGAGCTCTTGATCATGTTTCCTTAACCCTCTATTTTTTACGGAAGAATGATCAAGCTGCTGCTCTTGATCATCGTTTC"    

print(PatternMatching(Pattern, Genome))

此函数仅返回5、5、5、5、5、5、5、5、5,但正确的输出将为5,28,128,249,399,470,509,527

为什么所有后续匹配都会返回第一个匹配索引?

EN

回答 1

Stack Overflow用户

发布于 2016-03-24 15:04:55

我在代码中发现了错误。第positions.append行(Genome.index(Pattern))应替换为positions.append(i)。这给出了正确的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36194672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档