在python中,如果我們從舊串列中創建一個串列,新串列仍然指向存盤原始值的舊串列的記憶體點。我不知道這種現象被稱為什么,但我可以做我想做的事,如果是這樣的話(編程新手)。
z=[[1,2,3],[4,5,6],[7,8,9]]
y=[]
for i in range(len(z)):
y.append(z[i])
y[0][0]='A'
print(y)
print(z)
#Output:
[['A', 2, 3], [4, 5, 6], [7, 8, 9]]
[['A', 2, 3], [4, 5, 6], [7, 8, 9]]
#The Output I want:
[['A', 2, 3], [4, 5, 6], [7, 8, 9]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
uj5u.com熱心網友回復:
當您想使用指向新空間的新串列時,您可以將代碼更改為:
z=[[1,2,3],[4,5,6],[7,8,9]]
y=[]
for i in range(len(z)):
# copy() can return a new list point to a new space, just like the function name.
y.append(z[i].copy())
y[0][0]='A'
print(y)
print(z)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/393532.html
上一篇:如何SQLINSERTINTO將兩個不同的陣列插入到一個表中?
下一篇:C編程中回傳int的陣列
