【发布时间】:2018-04-27 15:23:32
【问题描述】:
我正在使用 Python 进行分配,如果您能回答,我有一个问题。 我想编写一个函数,它返回一个列表,其中包含序列中所有“ATG”出现的第一个核苷酸的位置。 例如,我们可以说我们的 DNA 序列是 AATGCATGC。我们看到 ATG 可以从索引 1 开始,另一种可能是索引 5。 我试过这个来解决这个任务;
dna = "AATGCATGC"
starting_offset = dna.index("ATG")
print(starting_offset)
我得到的结果是 1。但我想得到结果为 [1, 5]
那么我应该如何为所有事件编写这个函数呢?
谢谢你帮助我:)
【问题讨论】:
-
听起来像是 itertools 的工作 - 搜索 python 和 itertools 并查看 api
-
如果你想自己做:找到第一个出现 [x] - 匹配匹配中不可能(找不到从一个查找开始的 ATG)所以从你的查找位置创建一个较短的字符串+ len(ATG) 并找到下一个索引。累积它们直到剩下少于 len(ATG) 个字符。
-
@strawberry:这种方法的例子见我的回答
标签: python list function return bioinformatics