我正在尝试自己学习python。我正在尝试打印二维数组,但运气不佳。
这是代码
rows = 10
colms = 10
grid=[]
for row in range(0,9):
for colm in range(0,9):
print(grid[row][colm])
我得到的错误是“列表超出索引”。我厌倦了不同的事情,比如
grid[[rows],[colms]]
但走不远。
我如何打印出像矩阵一样的二维数组
我正在尝试自己学习python。我正在尝试打印二维数组,但运气不佳。
这是代码
rows = 10
colms = 10
grid=[]
for row in range(0,9):
for colm in range(0,9):
print(grid[row][colm])
我得到的错误是“列表超出索引”。我厌倦了不同的事情,比如
grid[[rows],[colms]]
但走不远。
我如何打印出像矩阵一样的二维数组
grid
其中还没有条目,因此任何访问其中任何索引处的成员的尝试都将失败。您必须先用值填充它。
例如:
In [11]: grid = []
In [12]: for i in range(10):
....: row = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
....: grid.append(row)
....:
In [13]: grid
Out[13]:
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
In [14]: grid[9][9]
Out[14]: 0
(请注意,您必须将网格中的每一行创建为单独的对象,如果它们都是相同的行对象编辑将导致它们全部被编辑!)
编辑:要输入网格,请执行以下操作:
In [15]: grid[0][0] = int(raw_input("input: "))
input: 1
In [16]: grid
Out[16]:
[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]