【问题标题】:Python index out of range exceptionPython 索引超出范围异常
【发布时间】:2021-01-28 12:54:03
【问题描述】:

我试过这个:

x = []
for i in range(5)
    x[i] = 0
print(x)

但是它给出了索引超出范围异常为什么?

【问题讨论】:

  • x 是 python 列表而不是数组。如果你想将值附加到 x,你可以 x.append(i) ,或者你也可以用固定大小初始化列表并使用提到的赋值stackoverflow.com/questions/10712002/…
  • @Yousef 如果问题已解决,请标记为答案,将来也会对我和其他人有所帮助

标签: python list indexoutofrangeexception


【解决方案1】:

因为列表中没有任何值,这就是为什么 在这种情况下,您必须使用附加

喜欢

x = []
for i in range(5)
    x.append(0) #x[i] = 0 
print(x)

删除这一行x[i] = 0并放入x.append(0)

【讨论】:

  • 或list(range(5))
【解决方案2】:

您创建了一个空列表 x = [](不是数组)并在一行 x[i] = 0 中尝试将元素 0 分配给在初始化时不存在的 index=0,在您的如果这将是for 循环与i=0 的第一次迭代。

这是一个例子:

>>> x = []
>>> x[0] = 0
 Traceback (most recent call last):
 File "<pyshell#8>", line 1, in <module>
    x[0] = 0
 IndexError: list assignment index out of range

它不允许您将具有索引的元素分配给空列表。

【讨论】:

    【解决方案3】:

    您收到的是index out of range exception,因为您的列表中没有任何内容。如果要循环 5 次并设置 x[i] = 0,则必须先有一个 x[i]。

    【讨论】:

      猜你喜欢
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-12-25
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多