我使用列表的列表在python中存儲矩陣。我試圖初始化如下的2x3零矩陣。以pythonic的方式創建列表的列表
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)
,但任何人都可以給我一個更Python的方式?
應該有一個 - 最好只有一個 - 明顯的方法來做到這一點。 ;-) – Ubiquitous 2009-05-28 21:06:41