【问题标题】:IndexError: list index out of range - While defining a 2d listIndexError:列表索引超出范围 - 定义二维列表时
【发布时间】:2016-05-01 20:11:27
【问题描述】:

我正在尝试初始化一个二维列表,当我运行此代码时出现“IndexError: list index out of range”错误,这是为什么呢?

import numpy as np

cell_id = 0
obj_list = []

for i in range(0,100):
    for j in range(0,100):
        orient = np.random.randint(180)
        obj_list[i][j] = [cell_id, orient]
        cell_id += 1

【问题讨论】:

    标签: list python-3.x


    【解决方案1】:

    当你声明你的列表obj_list = [] 时,你有一个列表,但 python 不知道它们应该是什么。当您这样做obj_list[i][j] 时,您表示列表中的ith 项目是一个数组,但您尚未明确说明情况就是如此。因此,我会将您的代码更改为如下所示:

    for i in range(0,100):
        obj_list.append([]) # Append an element to the list
        for j in range(0,100):
            orient = np.random.randint(180)
            obj_list[i].append([cell_id, orient]) # append an element to the sub list
            cell_id += 1
    

    【讨论】:

    • @user3408085 抱歉——我更正了我的答案。迷失在 JavaScript 领域,忘记完全转换为 python :)
    猜你喜欢
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    • 2011-10-31
    • 2015-06-26
    相关资源
    最近更新 更多