【发布时间】:2015-01-28 08:34:11
【问题描述】:
当我提交以下代码时:
data = open("DNA Motif.txt", "r")
lines = data.readlines()
large = list(lines[0])
small = list(lines[1])
list = []
counts = []
print large
for first in range(0, len(large)):
list = []
if large[first] == small[0]:
for other in range(0, len(small)):
if small[other] == large[first + other]:
list.append(large[first + other])
if list == small:
counts.append(str(first + 1))
使用以下数据集:
TTGCGTTTCGCGTTTCTCCGTTGCGTTTCTAGCGTTTCCAGGCGACCGCGTTTCGCGTTTCAGCGTTTCGCGTTTCGCGTTTCGCGTTTCCCCGGGGGCGTTTCGCGTTTCGGCGTTTCCAGCGTTTCCGCGTTTCGCGTTTCGCGTTTCAGCATAGTTAGCGTTTCATCGCGTTTCGCGTTTCTTTTATGCTGTTGCGTTTCTGCTTAGGCGTTTCTACACTCAGCGTTTCGCGTTTCAGCGTTTCAGCGTTTCACAGCGTTTCGCGTTTCTGGCGTTTCGCCGCGTTTCCCGTGCGTTTCATTCTTGCGTTTCTGCGTTTCTCGAGAGCGTTTCGCGTTTCGTACGCGTTTCGCGTTTCTTAAGAGCGTTTCCGCGTTTCGTTACGCGTTGCAAGCGTTTCGGCGTTTCTCAGGCGTTTCGTGCGTTTCTGCGTTTCGCGTTTCTTTGCGTTTCGCGTTTCGAAAGCGTTTCGGTTGCCTACGTATATACTTGCGTTTCGCGTTTCCTTCTAAAGGCGTTTCATAGCGTTTCGCCCTGGAGCGTTTCCGGAGAGCGTTTCTGCGTTTCAGCGTTTCTGCGTTTCAGGAGCGTTTCGGTGAGATTTAGCGTTTCCTATCGGCGTTTCTGGCGTTTCCTCGAAAGCGTTTCAGGCGTTTCATGCGTTTCTGCGTTTCGCGTTTCTCCGGCGTTTCGGCGTTTCGGCGTTTCGCGTTTCAGCGTTTCCAGCGTTTCAAGCGGCGTTTCACGCGTTTCGCGTTTCGCGTTTCGCGTTTCACTGCGTTTCAAGCGTTTCGCGTTTCGCGTTTCAACGCTGCGTTTCAGCGTTTCGCGTTTCGCGTTTCTGACCCGCGTTTCAGCGTTTCTGGGATAGCGTTTCGTGCGTTTCGCGTTTCGCGGTGACGCGTTTC
GCGTTTCGC
我收到此错误:
IndexError: list index out of range
如果您能提供帮助,那就太好了。我了解错误是什么,以及我应该如何修复它,但我不知道具体要在我的代码中修复什么。
【问题讨论】:
-
在哪里出现错误?异常的完整回溯是什么?
-
如果
first设置为len(large) - 1会怎样(所以large中的最后一个可用索引)?您现在尝试将other添加到其中,对于other之外的任何值,除了0,这会给您一个例外。从len(large) - len(small)开始的任何值都会发生同样的情况,因为您可以保证生成的other值在求和时将超过len(large) - 1。你到底想在这里做什么? -
第14行出现错误:'if small[other] == large[first + other]:'
-
@MartijnPieters 谢谢,我认为已经解决了。我试图找出在“大”中出现了多少次“小”
标签: python python-2.7