So until now, i was under the assumption that if you have for example:
L = [1,2,3]
L2 = L1
L2.append(5)
both L and L2 would be affected by the append code.
however, when you assign L2 to be a copy of a list, for example:
L = [1,2,3]
L2 = L[:]
L2.append(5)
only L2 would be affected, and L still refers to [1,2,3]
but i now run into this:
x = [1, 2]
L1 = [x, [8, 9]]
L2 = L1[:]
L2[0][1] = 999
>>>print(L1)
[[1,999],[8,9]]
>>>print(L2)
[[1,999],[8,9]]
why was it that in this case, both lists changed?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…