【问题标题】:Indexerror: list index out of range/numpyIndexerror:列表索引超出范围/numpy
【发布时间】:2015-01-21 13:13:26
【问题描述】:

我真的 蟒蛇新手。我收到一个错误,指出 Indexerror 列表索引超出范围。请帮帮我。提前致谢 。 编辑 1

x = np.array([10,0])
Phi = np.array([[ 1.  ,  0.01],
            [ 0.  ,  1.  ]])
Gamma = np.array([[ 0.0001048 ],
              [ 0.02096094]])
Z = np.array([[ 0.0001048 ],
          [ 0.02096094]])
wd = 0
u_new = 0
x1d = 0
x2d = 0
xd = [[0 for col in range(len(x))] for row in range(1000)]
xd[0][0] = 10
xd[1][0] = 0
k = 10
DistPeriodNo1 = 500
FirstPeriod = 1
k=k+1 #Update PeriodNo(so PeriodNo is now equal to No. of current period)
if (k == 100):  #If maximum value of PeriodNo is reached,
    k = 11  #set it to 1
    DistPeriodNo1 = random.randint(11,99) 

if (FirstPeriod == 0):  

    if (k == DistPeriodNo1):    
        wd = random.randint(-1,1)
    else:
        wd = 0
    xd[0][k] = Phi*xd[0][k-1] - Gamma*u_new + Z*wd
    # >>indexerror list index out of range
    xd[1][k] = Phi*xd[1][k-1] - Gamma*u_new + Z*wd
    x1d = xd[0][k]
    x2d = xd[1][k]

【问题讨论】:

  • 如果在问题中添加整个stack trace,您可以帮助我们。
  • 抱歉,应该是“如果添加”
  • 我现在对此很感兴趣...你能告诉我如何添加堆栈跟踪吗?我知道这很愚蠢。对不起。
  • 复制问题中的整个错误文本,那里还有其他有用的信息,例如行号。
  • 顺便说一下,我无法重现错误,您的代码在我的电脑上运行正常。

标签: python python-3.x numpy


【解决方案1】:

要在 cmets 中回答有关回溯(堆栈跟踪)的问题:运行以下命令

a = [1,2,3]
b = [True, False]
print(a[2])
print(b[2])

产生一个答案和一个回溯。

>>> 
3
Traceback (most recent call last):
  File "C:\Programs\python34\tem.py", line 4, in <module>
    print(b[2])
IndexError: list index out of range

回溯显示哪一行和什么代码引发了错误。人们要求您复制最后 4 行并将其粘贴到您的问题中(通过编辑)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多