0
我正在生成數字的三元組並嘗試將它們放入列表中,我將稍後處理它。在下面的代碼中,我將一個三重Elt添加到列表L中。我如何保留未來修改Elt以修改L?應該超級容易,但是如何?Python3:保留修改列表中的更改元素
L = [[2, 3, 4]]
Elt = [5, 6, 7]
def proc1(BigList, NewElt):
BigList = BigList + [NewElt.copy()]
return(BigList)
print(L)
L = proc1(L, Elt)
print(L)
Elt[1] = 70 # now L[1] is different from Elt
print(L)
print(Elt)
Output:
[[2, 3, 4]]
[[2, 3, 4], [5, 6, 7]]
[[2, 3, 4], [5, 6, 7]]
[5, 70, 7]
編輯:其實,我一直在尋找價值。現在我明白了。謝謝!
在'Elt'列表實際上應該是不modifyable,'元組(NewElt)'可能是更好的方法。 –
這是真的,但它真的取決於作者。對我來說,這個問題的問題似乎是由於通過了列表的引用而引起的。但是如果你真的想要一個列表數據結構,哪些項目不能被修改,那麼元組就是要走的路。 – ThePavolC