Python-一个错误

时间:2013-08-21 12:41:19

标签: python

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

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

3 个答案:

答案 0 :(得分:3)

因为range(11)有11个元素 - 0到10 包含 ...只需使用range(10)代替列表中的索引(0 - 9)。< / p>

答案 1 :(得分:0)

Python索引从0开始。

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

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

作为您的范围的参数,以确保您不超过其指数。

答案 2 :(得分:0)

你说你的列表包含十个条目,但你循环超过十一个。 range(11)调用会返回一个包含010之间值的列表,换句话说是11个值。

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

更改为range(10)