迭代计数匹配2个字符串索引

时间:2014-05-27 15:34:21

标签: python slice

我有2个字符串:

string 1 = 'ATCGATCG'
string 2 = 'ATCGATCG'

我想确定这两个字符串的哪些部分匹配,从第一个字符开始并构建。为此,我使用下面的代码,一次切1个字符:

('A', 'AT', 'ATC', 'ATCG', 'ATCGA', 'ATCGAT', 'ATCGATC', 'ATCGATCG')

是否有方法让它计算由字符串1和2组成的切片之间的匹配,以查看它们是否完全匹配打印是,如果不是打印否。我无法确定如何为每个切片完成它。

for i in range(0, len(string1)):
    print string1[0:i]

    for i in range(0,len(string2)):
        print string2[0:i]

1 个答案:

答案 0 :(得分:1)

只需计算您需要的匹配项,以便决定您需要决定的内容:

s1 = "ATCGATCG"
s2 = "ATCGATCGFOOBAR"

counter = 0

for c1, c2 in zip(s1, s2):
  if c1 == c2: 
    counter += 1
  else:
    break

print "String share the longest common prefix of length %d: %s" % (counter, s1[:counter])

String share the longest common prefix of length 8: ATCGATCG