python - 查找唯一的子字符串并保留序列

标签 python arrays string

我正在尝试编写一个方法,该方法接受一个字符串(例如 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/

相关文章:

python - Django 中意外的日期时间格式

c - 使用循环在数组中生成唯一随机数

c - 如何将整数数字数组转换为整数值?

ios - 持久化 UINib 数组

xml - 从 Groovy 中的字符串中删除第一行

C++:从函数访问主变量的最简单方法?

python - Python中默认参数的规则是什么?

python - 我怎样才能用python找到我的IP地址而不是本地IP?

python - 如何让 django 为 Sphinx 找到特定的 css 文件?

python - 通过\t 拆分字符串的棘手方法