比较4个字符的组,看它们是否在字符串中是相同的

时间:2016-01-21 08:08:01

标签: python string

我正在尝试使用Python来比较两个字符串,看看它们中是否有任何一组4字母。

sequence1 = "ACACGCGTCTCCTTGCGGGTAAAT"
sequence2 = "GTTACCAATTTCTTGTTTCCGAAT"

for i in range(0,24,4):
    print i
    list1.append(sequence1[i:i+4])

for i in range(0,24,4):
    print i
    list2.append(sequence2[i:i+4])

但这似乎没有做到。我想让它返回两个字符串中相同的字母组,任何想法?

2 个答案:

答案 0 :(得分:1)

您可以使用列表推导和切片来迭代4组。我编辑了序列,包含两个常见的4个字母元素:

s1 = "ACACGCGGTCTCTTGCGGGAAATT"
s2 = "GTTACCAATTTCTTGCTTCCAAAT"

c = [s1[i:i+4] for i in range(0, len(s1), 4) if s1[i:i+4] in s2]

列表c现在包含常用条目:['TTGC', 'AAAT']

请注意,这不区分位置;如果需要,您只需更改列表推导中的if语句即可定义:

c = [s1[i:i+4] for i in range(0, len(s1), 4) if s1[i:i+4] == s2[i:i+4]]

现在它只包含['TTGC']

答案 1 :(得分:1)

sequence1 = "ACACGCGTCTCCTTGCGGGTAAAT"
sequence2 = "GTTACCAATTTCTTGTTTCCGAAT"

for i in range(len(sequence1) - 4):
    if sequence1[i:i+4] == sequence2[i:i+4]:
        print sequence1[i:i+4]

这将比较4个字母的相同索引