我正在尝试使用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])
但这似乎没有做到。我想让它返回两个字符串中相同的字母组,任何想法?
答案 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个字母的相同索引