我正在尝试编写一个方法,该方法接受一个字符串(例如 DNA 字符串)并输出带有子字符串的数字并保留序列。
例如:
>>dna = AABBBGGGKKDDDD
>>substring(dna) #some method
>>2A3B3G2K4D
我猜我可以有一个空数组,然后创建一个 for 循环来迭代每个字母,如果是相同的字母,它会进行计数,然后在最后添加该字母。我只是不确定如何从语法上写出来。任何帮助将不胜感激:)
最佳答案
itertools.groupby()
非常适合这项任务:
from itertools import groupby
def get_sequence(dna):
return ''.join(str(len(tuple(g))) + k for k, g in groupby(dna))
print(get_sequence('AABBBGGGKKDDDD'))
# 2A3B3G2K4D
关于python - 查找唯一的子字符串并保留序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53164264/