-
对于
list
来讲,除了使用copy.deepcopy()
来实现深copy外,还可以使用什么更加简单的方式呢?下面先介绍copy.deepcopy()
例子:>>> a = [1] >>> import copy >>> b = copy.deepcopy(a) >>> a.append(2) >>> a [1, 2] >>> b [1]
补充知识: 浅拷贝只是保存了对象的指针,也就是说拷贝后的对象与原对象共享了相同的内存空间,这样一来,改变任意一个对象都会让所有的对象的数据发生变化;而深拷贝是创建了一个新的对象,也就是创建了一个新的内存空间来存放,这样两个对象就是互不影响的了
-
下面一种方式是很骚的操作,同样实现了深拷贝:
>>> a = [1] >>> b = a[:] # 这就是那个骚操作哦 >>> a.append(2) >>> a [1, 2] >>> b [1]