Python 深浅拷贝辨析

拷贝:拷贝就是一个变量的值传给另外一个变量

浅拷贝:指把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址,浅拷贝只能拷贝最外层,修改内层则原列表和新列表都会变化。

#浅拷贝(引用拷贝)
list23 = [1,2,3,4,5,6]
list24 = list23
print(list23)
print(list24)
print(id(list23))#在python 中 id()方法可以查看存放变量的内存地址
print(id(list24))

list23 和list24 具有相同的内存地址,实质上list23和list24为变量名不同的相同变量

深拷贝:是指被赋值的变量开辟了另一块地址用来存放要赋值的变量的值(内容),深拷贝是指将原列表完全克隆一份新的。

#深拷贝(内存拷贝)
list25 = [1,2,3]
list26 = list25.copy()
print(list26)
print(list25)
print(id(list25))
print(id(list26))

 list25 和list26 具有完全不同同的内存地址,实质上list25和list26为不同变量

猜你喜欢

转载自blog.csdn.net/q2511130633/article/details/84993852
今日推荐