python中的深浅拷贝的区别
li = [1,1,2,3,4,5,6,7,8,9]l2=li # 这样定义不行共用内存空间,其实是一体# l2 = [1,1,2,3,4,5,6,7,8,9]l3=li[:]for i in l2: if i%2!=0: li.remove(i)print(li) # [1, 2, 4, 6, 8]print(id(li)) # 获取内存地址,li、l2 li=l2 是相同的内存地址print(id(l2))print(id(l3))# 循环删除list的时候,都会出现这样的问题# 循环的时候,不要删除元素,下标会错乱# 解决的方法是利用两个list,循环不变的list# 深拷贝 l2=li[:] 两个不同的内存地址,互不影响 两个不同的内存地址# 浅拷贝 l2=li 互相影响 两个的内存地址相同import copy
d={'name':'xiaohei','l':[4,5,6]}d1=d #浅拷贝 和copy.copy的方法一样,虽然copy的ip内存地址不同,但是最里面的一层【】做不了深拷贝d2=copy.deepcopy(d) # 深拷贝d1['l'].append('8')d2['sex']='女'd1['age']=18 print(d) #{'name': 'xiaohei', 'l': [4, 5, 6, '8'], 'age': 18} #浅拷贝的影响,深拷贝不影响
转载于:https://www.cnblogs.com/skyxiuli/p/10741119.html
python中的深浅拷贝的区别相关推荐
- python中的深浅拷贝
1. 浅拷贝 copy.copy 浅拷贝是对于⼀个对象的顶层拷贝 通俗的理解是:拷贝了引⽤,并没有拷贝内容 浅拷贝只复制第一层数据,更深层的引用不管. 2. 深拷贝 copy.dee ...
- Python中深拷贝与浅拷贝的区别?
往期面试题: 列举Python中的标准异常类? 说说Python面向对象三大特性? 说说Python中有几种数据类型? 说说Python模块主要分哪三类? 废话不多说,开始今天的题目: 问:说说Pyt ...
- Python赋值与深浅拷贝
# coding=utf-8 #Python 赋值 与深浅拷贝 #Python 赋值时会创建一个新的引用,对不可变对象,实际上象创建一个副本,但对可变对象,因为是引用,当对其中一个对象的元素进行操作时 ...
- python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别
Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...
- 什么是深浅拷贝,区别
深浅拷贝的区别 如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是 否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那 就是深拷贝,自食其力. impor ...
- python中break和continue的区别
python中break和continue的区别 break 结束for 或者while 循环 后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...
- python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...
昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...
- python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法
python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录
- python有关迭代器和生成器的面试题_【面试题 | Python中迭代器和生成器的区别?】- 环球网校...
[摘要]今天给大家解答一道Python常见的面试题,希望这个面试栏目,给那些准备面试的同学,提供一点点帮助!小编会从最基础的面试题开始,每天一题.如果参考答案不够好,或者有错误的话,麻烦大家可以在留言 ...
最新文章
- 在Windows上运行Spark程序
- 机器学习python——python基础
- 第1次作业:阅读优秀博文谈感想
- leetcode 203 移除链表元素 C++
- SpringMVC接收哪些类型参数参数
- 未能打开组策略对象 您可能没有合适的权限
- 页表长度和页表大小_linux内核页表映射机制:线性地址如何转为物理地址?
- hololens与混合现实开发pdf_增强现实与虚拟现实:过去和未来
- ai智能时代教育内容的改变_人工智能正在改变我们的评论方式
- MapReduce----并行支持向量机(PSVM)第二部分之原始对偶内点法
- ubuntu 换软件源
- 计算机打不开硬盘,电脑有一个磁盘打不开怎么处理
- ZOJ - 3939
- 几何光学学习笔记(23)- 5.6 远心光路
- web前端做汽车之家官网,HTML5+CSS3+JS
- 《三体》中的经典名句
- 循环神经网络 - 卷积神经网络
- 大连市金州区石河计算机学校,2021大连市金州区安全教育平台登录入口网址【最新】...
- 重新认识java(十一)---- java中的数组
- 哈哈日语 日语五十音图记忆和发音方法
热门文章
- 20145209刘一阳《JAVA程序设计》第1周学习总结
- Linux驱动开发 -- 打开dev_dbg()
- 网站域名备案时需要什么资料
- 2008年9月三级网络技术考试试卷 参考答案1
- [转] 年终回顾,为你汇总一份「前端技术清单」
- Which path should be used jdk or jre for JAVA_HOME environment variable?
- asp.net生产环境和开发环境的错误日志包装策略
- 组策略不让你登陆你怎么办
- Javascript: IE中命名函数直接量的Bug?
- vue常见知识点总结