-5
tA=[]
tC=[]
tG=[]
tT=[]
i=0

#this is the specific part of my script, A, T, G % C are 4 lists that consists from 10 indexes, each of which is a different number

for i in range(11):
    A1=A[i]*3/100
    C1=C[i]*3/100
    G1=G[i]*3/100
    T1=T[i]*3/100

    tA.append(A1)
    tC.append(C1)
    tG.append(G1)
    tT.append(T1)

    i=i+1

我得到的错误是:

list index out of range

对于这一行:

A1=A[i]*3/100

我知道我为什么得到它,我只是不知道如何解决这个问题。帮助?

4

3 回答 3

3

因为range(11)有 11 个元素 - 0 到 10包括在内......只需使用range(10)它来匹配列表的索引(0 - 9)。

于 2013-08-21T12:43:39.930 回答
0

Python 索引是从 0 开始的。

如果 A 有 10 个项目,则 A[10] 崩溃。利用

min(len(A), len(B), len(C), len(T))

作为你的范围的参数,以确保你不超过他们的指数。

于 2013-08-21T12:44:13.607 回答
0

你说你的列表包含十个条目,但你循环了十一个。该range(11)调用返回一个列表,其中包含从0到的值,即10十一个值。

请记住,在 Python 中,所有索引都从零开始,即第一个索引为零,最后一个索引为 (length - 1)。

更改为range(10)

于 2013-08-21T12:45:20.857 回答