列表索引超出范围? (蟒蛇)

时间:2016-11-18 18:20:54

标签: python arrays list

我有一个列表作为它的条目列表(例如,array =([1,2],[2,3],[3,4])),我想循环这些列表和比较一个特定的项目,看它是否符合标准,但我一直收到这个错误:" Indexerror:列表索引超出范围"

这是我的代码:

for i in enumerate(arr):
        if arr([i][6]) == 0.0:
            humans= humans+[arr[i,col]]

我已经通过打印数组[1] [6]检查了实际数组,我知道有一个值存在的事实。那么为什么它不会循环呢?

1 个答案:

答案 0 :(得分:1)

您对enumerate()的理解是错误的。它返回元组列表,每个项映射到其索引。以下是您在案例中返回的值:

>>> list(enumerate(arr))
[(0, [1, 2]), (1, [2, 3]), (2, [3, 4])]

如果要进行迭代以使i的值从0到arr的长度,则需要使用range()作为:

for i in range(len(arr))

您的列表内容也是:

arr = [[1,2],[2,3],[3,4]]

这是一个3X2列表,你正在做arr[i][6],它会给出IndexError,因为每个子列表的长度只有两个