python - 查找唯一的子字符串并保留序列
问题描述
我正在尝试编写一个采用字符串的方法,例如 DNA 字符串并输出带有子字符串的数字并保留序列。
例如:
>>dna = AABBBGGGKKDDDD
>>substring(dna) #some method
>>2A3B3G2K4D
我猜我可以有一个空数组,然后创建一个循环遍历每个字母,如果它是同一个字母,它会进行计数,然后在最后添加字母。我只是不确定如何在语法上写出来。任何帮助,将不胜感激 :)
解决方案
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
推荐阅读
- oauth-2.0 - OAUTH 注销和 Oauth 令牌验证
- python - cocos creator 无法为安卓平台构建
- php - phpseclib SFTP 用户身份验证失败
- python - 如何知道python中的下载文件扩展名?
- django - 我们可以在ModelViewSets中使用Django rest框架中继承的概念吗?
- jasmine - 我们可以从一个文件中运行一个 it 块,从第二个文件中运行一个 it 块,并且我们在 jasmine protractor 的两个文件中都有 100 个它块
- jenkins - 在詹金斯管道期间面临SSH连接问题
- perl - 如何尊重对数组中标量的引用
- python - Scrapy:start_requests 中的 CloseSpider 不起作用
- mongodb - 如何使用 unwind Mongo Aggregate