python深拷贝、浅拷贝

 
.copy() 浅拷贝
如上图
定义列表A指向一个元素,列表A里面嵌套两层列表分布指向两个元素,定义列表B,列表B=A,列表C浅拷贝列表A
从图上可以看出,列表A和列表B指向的是同一个列表元素,而列表C ,使用.copy()浅拷贝生成了一个新的列表元素
但是列表C只有第一层列表生成了新的元素,内部嵌套的列表元素还是指向了列表A的嵌套列表元素
浅拷贝只会在拷贝对象的第一层进行赋值,拷贝对象内部再有指向其他可变元素的话,内部并没有赋值,只是第一层的赋值操作
 
copy.deepcopy()深拷贝
语法
# 引入
import copy
#深拷贝
newlist = copy.deepcopy(要深拷贝的列表名)
继续上图
列表d = copy.deepcopy(a),列表d的第一层元素及内部所有的嵌套元素,全部指向了新的元素
深拷贝会将拷贝对象内所有的元素、嵌套元素,全部迭代生成新的元素
 
 
copy解决的是可变类型进行赋值操作时指向同一个元素,所有的可变元素都可以使用copy进行操作
 
 

作者:木子七

出处:https://www.cnblogs.com/Mickey-7/p/16315981.html

posted @   木子七  阅读(281)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
workspaces
keyboard_arrow_up dark_mode palette
选择主题