Когда я представить следующий код:IndexError: индекс индекса вне диапазона Ошибка. (Python)
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', и для любого значения, отличного от' 0' для 'other', это даст вам исключение. То же самое произойдет при любом значении, начинающемся с 'len (large) - len (small)', так как вам гарантируется генерация значений для 'other', которые будут превышать' len (large) - 1' при суммировании. Что вы на самом деле пытаетесь сделать здесь? –
Ошибка возникает в строке 14: «если малый [другой] == большой [первый + другой]: ' –