python3 深浅拷贝(复制)
python3 list深浅拷贝 下面代码示例不是拷贝: a = [1,2,3,4,5] b = a print(id(a)) print(id(b)) print(id(a[0])) print(id(b[0])) >>>3159527737608 >>>3159527737608 >>>1839268304 >>>1839268304 内存管理图 1.png list浅拷贝三种方法: ? ? 1、list的切片 a = [[1,2],5] b = a[:] print(b)? ? # [[1,5] ? ? 2、导入copy模块 import copy a = [[1,5] b = copy.copy(a) print(b)? ? # [[1,5] ? ? 3、list的copy()方法 a = [[1,5] b = a.copy() print(id(a))? ? # 1811054808264 print(id(b))? ? # 1811054808200 print(id(a[0]))? ? # 1839268304 print(id(b[0]))? ? # 1839268304 b[1] = 1111 print(a)? ? # [[1,5] print(b)? ? # [[1,1111,5] b[0][0] = 1111 print(a)? ? # [[1111,5] print(b)? ? # [[1111,5] 2.png 深复制 import copy a = [[1,5] b = copy.deepcopy(a) a[0][0] = 111 b[1] = 22 print(a)? ? # [[111,22,5] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |