Python:For循环列表给出IndexError

时间:2019-04-17 23:52:11

标签: python arrays for-loop

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

for i in a:
   print(a[i])

IndexError: list index out of range

我不理解为什么会出现此错误。

3 个答案:

答案 0 :(得分:4)

您引用的是值而不是索引。 试试:

for i in range(len(a)):
    print(a[i])

答案 1 :(得分:3)

在您给出的示例中,实际上不需要索引,因为您只打印列表中项目的值,在这种情况下,直接打印项目就足够了:

for i in a:
    print(i)

答案 2 :(得分:1)

如果要元素的索引,可以使用{p> enumerate数组中的数据

for i, e in enumerate(a):
    print(a[i]) # assuming this is just a placeholder for a more complex instruction

提供所需的内容,其中i是索引,而e是列表中元素的(值)。但是通常您不需要索引,因为您想直接使用元素的值。在这种情况下,最好只做

for e in a:
    print(e)