请看以下两段代码:
第一段:
a = [[1,2,3],[5,6,7]]
b = a[:]
a[0]=8
print(a)
print(b)
结果是:
[8, [5, 6, 7]]
[[1, 2, 3], [5, 6, 7]]
第二段:
a = [[1,2,3],[5,6,7]]
b = a[:]
a[0][1]=8
print(a)
print(b)
print(id(a))
print(id(b))
结果为:
[[1, 8, 3], [5, 6, 7]]
[[1, 8, 3], [5, 6, 7]]
6075528
8860488
显然,第二段代码中,b也得到了硬拷贝,但为何其元素会跟着a变呢?