我正在使用列表列表来存储python中的矩阵.我尝试按如下方式初始化2x3 Zero矩阵.
mat=[[0]*2]*3
Run Code Online (Sandbox Code Playgroud)
但是,当我更改矩阵中某个项的值时,它会更改每一行中该条目的值,因为每行的id mat
是相同的.例如,在分配之后
mat[0][0]=1
Run Code Online (Sandbox Code Playgroud)
mat
是[[1, 0], [1, 0], [1, 0]]
.
我知道我可以使用循环创建Zero矩阵,如下所示,
mat=[[0]*2]
for i in range(1,3):
mat.append([0]*2)
Run Code Online (Sandbox Code Playgroud)
但有人能告诉我更多的pythonic方式吗?