0
我寫下面的代碼來創建像[[1,2,3],[2,2,3],[3,2,3]]
陣列插入在陣列中的陣列,使用循環
def f(X):
X[0]=X[0]+1
return X
L=[]
X=[1,2,3]
for i in range(0,3):
L=L+[X]
X=f(X)
print(L)
但它正在打印[[4, 2, 3], [4, 2, 3], [4, 2, 3]]
。爲什麼會發生,以及如何使用函數'f'解決這個問題?
感謝
問題尋求幫助調試(「爲什麼不這個代碼工作嗎?「)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:[如何創建最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –
發生了什麼非常明顯,解決方法是在f()中使用X的副本。 – polku
順便說一下,你也可以在[1,2,3]]'中爲'L = [[x,2,3]]。 –