在 Python 中定义不带初始化长度的二维数组
当尝试在 Python 中定义不指定长度的二维数组时,比如:
Matrix = [][]
你可能会遇到“IndexError: list index out of range” 错误。要解决此问题,有必要在添加任何项目之前用空列表初始化外部列表。为此,Python 使用了一种称为列表理解的技术。
考虑以下代码:
w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)]
这里,我们创建了一个由 5 个列表组成的列表,每个列表包含 8 个零。现在,您可以向此数组添加项目:
Matrix[0][0] = 1 Matrix[6][0] = 3 # error! 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
处理非方阵时,一定要小心索引并避免对内部和外部列表使用相同的变量名称(例如“x”)。
以上是如何在Python中正确初始化和使用没有预定义维度的二维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!