浅拷贝
就是将所拷贝变量的指针指向相同的地址
上代码!!!
array = [1,2]
other_array = array
array.append(3)
array [1,2,3]
other_array [1,2,3]
python为了节省内存以及加快运行速度,使用了浅拷贝——将所拷贝变量的指针指向相同的地址,这样,我们对array处理实际上就是对array指向的地址进行处理,other_array的值也因此改变
深拷贝
那么如何解决浅拷贝的这个问题呢?
这里介绍copy( )函数:
上代码!!!
array = [1,2]
other_array = array.copy()
array.append(3)
array [1,2,3]
other_array [1,2]
使用了copy( )方法后,other_ array的指针所指向的地址就不会和array的地址一样了。所以对array数组处理就不会改变 other_ array的值
比喻理解
浅拷贝就相当于两个人共享一辆小黄车,如果其中一个人不小心弄坏了铃铛,则另一个人骑行时铃铛是损坏的
深拷贝就是两个人拥有两辆小黄车,独自占有,互不影响