python 浅拷贝&深拷贝

x=[1,[2,3],4]
l=x[:]    #将x浅复制给y和z,即修改1和4不影响l的值,但是修改嵌套[2,3],l中嵌套的值也会变
x[0]=11
x[1][0]=22
print(l)    #[1, [22, 3], 4]
print('**************************************')
x=[1,[2,3],4]
l=list(x)    #将x浅复制给y和z,即修改1和4不影响l的值,但是修改嵌套[2,3],l中嵌套的值也会变
x[0]=11
x[1][0]=22
print(l)    #[1, [22, 3], 4]
print('**************************************')
x=[1,[2,3],4]
l=x.copy()    #将x浅复制给y和z,即修改1和4不影响l的值,但是修改嵌套[2,3],l中嵌套的值也会变
x[0]=11
x[1][0]=22
print(l)    #[1, [22, 3], 4]
print('**************************************')
import copy
x=[1,[2,3],4]
l=copy.copy(x)    #将x浅复制给y和z,即修改1和4不影响l的值,但是修改嵌套[2,3],l中嵌套的值也会变
x[0]=11
x[1][0]=22
print(l)    #[1, [22, 3], 4]
print('**************************************')
x=[1,[2,3],4]
l=copy.deepcopy(x)    #将x深复制给y和z,即修改x中的任何值,都不会影响l的值
x[0]=11
x[1][0]=22
print(l)    #[1, [2, 3], 4]

猜你喜欢

转载自blog.csdn.net/weixin_37016700/article/details/78709498