s1=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
s2=s1[:]
s1[0][2]=6
s1
[[1, 2, 6], [4, 5, 6], [7, 8, 9]]
s2
[[1, 2, 6], [4, 5, 6], [7, 8, 9]]
情况如上,看其他文章写的利用 s2=s1[:] 可以解决,经本人实验只能解决旧list的新增不会影响新list的内容,不能解决如上的修改问题。利用元组tuple可以解决上述问题,代码如下:
s1=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
s2=[]
for s in s1:
s2.append(tuple(m))
s1[0][2]=6
s1
[[1, 2, 6], [4, 5, 6], [7, 8, 9]]
s2
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]