深浅拷贝
2025-05-07 14:24:11 0 举报
python-深浅拷贝
作者其他创作
大纲/内容
a = 100b = a
lst2
200
lst1
传递方式赋值(num)第一步:a=100 b=a 指向同一个内存地址第二步:a=200重新为a开辟新的内存地址
lst1.append(8888)
100
深浅拷贝
问题:追加数据后,lst1与lst2的数据一样,地址一样。生产中,我们需要lst1就是lst1,lst2就是lst2。故而需要浅拷贝
lst1[-1].append(77)
b
浅拷贝方式赋值在一级容器末尾追加8888,ok
问题:因为,浅拷贝只能拷贝1级容器的所有元素,二级容器任然延用过去的方式,即地址引用,所以,在这里,我们得到的结果是77。故而,需要深拷贝(拷贝多级容器)
a
lst1.append(4)
浅拷贝
浅拷贝方式赋值在二级级容器末尾追加77,不符合预期
深拷贝
lst2 = copy.copy(lst1)lst1.append(4)
a = 200

收藏

收藏
0 条评论
下一页