浅拷贝和深拷贝求助
4. 请问下面代码执行后,列表 x 和 y 的内容分别是什么?>>> x = [, ]
>>> y = x.copy()
>>> y.append(7)
>>> y.append(8)
浅拷贝只能拷贝第一层数据,那什么是第一层,这个深浅拷贝如何理解??
举例如下,应该很好理解
>>> import copy
>>> x = [, ]
>>> y = x.copy()
>>> z = copy.deepcopy(x)
>>> x.append(7)
>>> x
[, , 7]
>>> y
[, ]
>>> z
[, ]
>>> x = 'xxx'
>>> x
[, , 7]
>>> y
[, ]
>>> z
[, ] 当你一个列表是嵌套列表的时候,深浅拷贝就体现出来差距了。 浅拷贝就相当于引用
用网站比喻
浅拷贝就像新创建了一个域名,但是还是指向这个网站,虽然是一个新对象,但是指向的内容没变,还是原来那个网站
深拷贝就相当于把这个网站的内容全部拷贝下来自己重新做一个网站,那上面的内容就和原来那个网站没有任何关系
页:
[1]