首页 > 其他分享 >深浅拷贝问题

深浅拷贝问题

时间:2023-12-11 17:22:56浏览次数:21  
标签:old 对象 list 问题 深浅 print new 拷贝

深浅拷贝问题

一、拷贝的介绍

  • 在Python中,深拷贝和浅拷贝是用于复制对象的两种不同的方式。
  • 首先深拷贝和浅拷贝都是对原对象的拷贝,都会生成一个看起来相同的对象,本质区别就是拷贝出来的对象的「地址」是否与原对象一样,即就是对原对象的地址的拷贝,还是值的拷贝

二、深拷贝和浅拷贝的区别

[1]浅拷贝

  • 当改变原始列表内的可迭代对象时,经过浅拷贝的对象也会随着改变
old_list = [1, 2, 3, [4]]
new_list = old_list.copy()
print(new_list, old_list)
# [1, 2, 3, [4]] [1, 2, 3, [4]]
old_list[3].append(5)
print(new_list, old_list)
# [1, 2, 3, [4, 5]] [1, 2, 3, [4, 5]]

[2]深拷贝

  • 当改变原始列表内的可迭代对象时,经过浅拷贝的对象不会改变
old_list = [1, 2, 3, [4]]
new_list = copy.deepcopy(old_list)
print(new_list, old_list)
print(id(new_list), id(old_list))
# [1, 2, 3, [4]] [1, 2, 3, [4]]
old_list[3].append(5)
print(new_list, old_list)
print(id(new_list), id(old_list))
# [1, 2, 3, [4]] [1, 2, 3, [4, 5]]

标签:old,对象,list,问题,深浅,print,new,拷贝
From: https://www.cnblogs.com/taoyuanshi/p/17880353.html

相关文章

  • 记录 systemd、systemctl 始终无法启动我的net core程序的问题
    不通过systemd或ctl,直接到站点的目录,运行./SGT.DiggApis.Svc 是可以正常运行的。 说明netcore.runtime是正常安装了的。查看ctlstatus,又只会给出失败了但是具体原因就是不给: 现在关键是ctl启动的时候的错误原因找不到,实际上是有方法的:以上信息告知最后运行的PID是233......
  • gitlab+sonarqube实现自动化代码漏洞扫描(centos内网环境安装配置及使用遇到的问题)
    sonarqube可以与源码管理工具gitlab集成,实现提交代码后自动扫描检测代码的相关漏洞。该CI/CD过程大致为:1、研发人员提交源码至gitlab服务器—>2、gitlabrunner执行指定脚本(由项目的.gitlab-ci.yml配置文件指定具体内容,如编译项目、开启代码检测) —>3、sonar-scanner对项目进......
  • Hibernate查询数据库记录自动修改的问题
    问题描述在项目中使用了hibernate进行查询记录,但是每次查询了记录后,发现控制台打印的sql不仅有select查询语句,还有update语句,但代码中并没有执行update的代码,就很奇怪???分析排查通过对方法内代码的debug调试,发现在跳出service方法后update语句sql才执行,这时候我就想到了spring的......
  • 关于SQL注入问题及解决--小记
    1.SQL注入问题SQL注入是一种常见的安全漏洞,它发生在应用程序未正确验证和处理用户提供的输入数据时。攻者可以通过恶意构造的输入,将额外的SQL代码注入到应用程序的查询语句中,从而执行未经授权的数据库操作。SQL注入问题通常出现在以下情况下:动态构建SQL查询:如果应用程序直接......
  • node调用python输出中文乱码问题
    问题描述使用node的children_process模块调用python脚本文件,出现输出信息为乱码问题//node脚本const{spawn}=require('child_process');constpythonProcess=spawn('python',['./test.python']);pythonProcess.stdout.on('data',(data)=>{......
  • 奥特曼被指爱权力胜过金钱;人类才是「幻觉问题」根本原因丨 RTE 开发者日报 Vol.103
       开发者朋友们大家好:这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内......
  • 【AGC】API8元服务上架传包错误码5的问题
    ​【问题背景】近期收到了一些反馈,一些鸿蒙元服务开发者在发布应用市场的过程中,上传.app包时遇到了错误码 5的报错,导致上传失败,下面来看一下这些报错的具体原因。​ 【解决方案】在获取到appid后,查询失败日志,失败原因显示:* 元服务默认卡片校验失败DEFAULT_DIMENSION_CHECK......
  • 跑大数据量遇到的一些问题
    1、ORA-00604:递归SQL级别1出现错误 ORA-38301:无法对回收站中的对象执行DDL/DML解决办法:增加表空间文件ALTERTABLESPACE SPACENAME ADDDATAFILE'F:\TABLESPACE\SPACENAME_ADD3.DBF'SIZE2048M;2、ORA-00060:等待资源时检测到死锁解决办法:中间件调整位进程模......
  • 1.1 从问题背景中理解变量与关系
    在学习数学建模的过程中,最核心的问题就是从题目当中抽象出变量与关系。这是非常重要的一点。但在我指导数学建模竞赛的过程中,这一点往往也成为了学生们的痛点、难点。尤其是在美国COMAP公司举办的一些比赛(HIMCM,IMMC,MCM/ICM)当中问题变得更加隐晦,学生往往难以从题目当中发现问题......
  • java-selenium 使用固定版本chrome浏览器和chromedriver,解决chrome自动升级无法与Chro
    1、获取Googlechrome、chromedriver地址:https://googlechromelabs.github.io/chrome-for-testing/ 2、将2个压缩包解压,存放到固定目录比如我的chromedriver位置为:D:\file\jar\chromeDriver120\chromedriver.exechrome位置为:D:\\soft\\chrome120\\chrome.exe3、代码中......