在Python中定义二维数组
在没有指定长度的情况下初始化二维数组时,可能会遇到错误“ IndexError:列表索引超出范围。”出现这种情况是因为 Python 要求在添加任何元素之前用空列表初始化外部列表。
要解决此问题,请使用列表理解来创建数组:
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
这会创建一个list 包含 5 个列表,每个列表有 8 个项目,全部设置为零。
然后您可以将元素添加到数组中,如下所示如下所示:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! IndexError: list index out of range Matrix[0][6] = 3 # valid
请注意,矩阵是“y”地址主数,这意味着外部索引 (y) 位于内部索引 (x) 之前。这与其他一些编程语言不同。
例如:
print Matrix[0][0] # prints 1 x, y = 0, 6 print Matrix[x][y] # prints 3; be careful with indexing!
虽然您可以根据需要命名索引,但使用“x”表示内部和外部列表可能会导致索引非方阵时的混乱。
以上是如何在 Python 中正确初始化和索引二维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!