【问题标题】:list index out of range列表索引超出范围
【发布时间】:2011-06-14 21:04:37
【问题描述】:

这怎么可能,我有一个名为“temp”的列表。这就是我的 python 解释器中的内容。

In [150]: len(temp)
Out[150]: 773942

In [151]: temp[773942]

我得到一个 IndexError: list index out of range.

我很困惑,因为它只是告诉我列表中有 773942 个值,现在它告诉我索引超出范围?

【问题讨论】:

  • 这听起来像是在开玩笑。 3 个元素的列表编号为 0、1 和 2。您的真正问题是什么?

标签: python list indexing


【解决方案1】:

列表的索引在0len(temp) - 1 的范围内。您的索引已结束。

例如,长度为 3 的列表具有以下索引:

["a",   "b",   "c"]
 ^      ^      ^
 0      1      2

访问索引3 将超过末尾。

【讨论】:

    【解决方案2】:

    索引是从零开始的,所以最后一个元素是 len() - 1

    【讨论】:

      【解决方案3】:

      在 python 中,len() 返回列表中有多少元素。但是索引从 0 开始。例如:

      >>>a = [1,2,3]
      >>>len(a)
      3
      >>>a[0]
      1
      >>>a[2]
      3
      

      所以pythonlist的最大索引是len(list) - 1,否则会报错。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-16
        • 2016-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多