为什么矩阵填充了像这样的namedtuples?使用namedtuples填充矩阵
正确插入索引
,以及如何解决它?
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
m, n = 3, 3
matrix = [[None] * n] * m
for i in range(m):
for j in range(n):
matrix[i][j] = Point(i, j)
for row in matrix:
print(row)
#>>Output
#[Point(x=2, y=0), Point(x=2, y=1), Point(x=2, y=2)]
#[Point(x=2, y=0), Point(x=2, y=1), Point(x=2, y=2)]
#[Point(x=2, y=0), Point(x=2, y=1), Point(x=2, y=2)]
结果应该是
#>>Output
#[Point(x=0, y=0), Point(x=0, y=1), Point(x=0, y=2)]
#[Point(x=1, y=0), Point(x=1, y=1), Point(x=1, y=2)]
#[Point(x=2, y=0), Point(x=2, y=1), Point(x=2, y=2)]
f你有m,n = 4,3会出现错误 – Vartan
不,我从来不会伤心离开init矩阵。 matrix still matrix = [[None] * n] * m –
对不起,你是对的 – Vartan