a = [[1, 2], [3, 4]] b = a[:] print(id(a)) print(id(b)) b[-1][-1] = 5 print(a) print(b) print(id(a)) print(id(b))
结果如下:
29949064
128439280
[[1, 2], [3, 5]]
[[1, 2], [3, 5]]
29949064
128439280
a = [[1, 2], [3, 4]] b = a[:] print(id(a)) print(id(b)) b[-1][-1] = 5 print(a) print(b) print(id(a)) print(id(b))
结果如下:
29949064
128439280
[[1, 2], [3, 5]]
[[1, 2], [3, 5]]
29949064
128439280
相当于b是a的引用(C++)。
请尝试使用深拷贝。
import copy
b = copy.deepcopy(a)