【发布时间】:2010-10-29 17:11:14
【问题描述】:
我正在使用列表列表在 python 中存储矩阵。我尝试如下初始化一个 2x3 零矩阵。
mat=[[0]*2]*3
但是,当我更改矩阵中一项的值时,它会更改 每一 行中该条目的值,因为 mat 中每一行的 id 是相同的.比如赋值后
mat[0][0]=1
mat 是 [[1, 0], [1, 0], [1, 0]]。
我知道我可以使用如下循环创建零矩阵,
mat=[[0]*2]
for i in range(1,3):
mat.append([0]*2)
但是谁能告诉我一个更 Pythonic 的方式?
【问题讨论】:
-
应该有一种——最好只有一种——明显的方法。 ;-)