python copy() 和 deepcopy()区别
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import copy a = [ 1 , 2 , 3 , 4 , [ 'a' , 'b' ]] #原始对象 b = a #赋值,传对象的引用 c = copy.copy(a) #对象拷贝,浅拷贝 d = copy.deepcopy(a) #对象拷贝,深拷贝 a.append( 5 ) #修改对象a a[ 4 ].append( 'c' ) #修改对象a中的['a', 'b']数组对象 print 'a = ' , a print 'b = ' , b print 'c = ' , c print 'd = ' , d 输出结果: a = [ 1 , 2 , 3 , 4 , [ 'a' , 'b' , 'c' ], 5 ] b = [ 1 , 2 , 3 , 4 , [ 'a' , 'b' , 'c' ], 5 ] c = [ 1 , 2 , 3 , 4 , [ 'a' , 'b' , 'c' ]] d = [ 1 , 2 , 3 , 4 , [ 'a' , 'b' ]] |
解释:
copy只拷贝一层,拷贝后加入list元素里面还有list。则里面list值做更改,拷贝的也会更改,deepcopy就不会
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络