Python 直接赋值、浅拷贝和深度拷贝区别
b = a: 赋值引用,a 和 b 都指向同一个对象。
b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向同一对象(是引用)
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = {1: [1, 2, 4]}
b = a.copy()
print(a, b)
# 输出: {1: [1, 2, 4]} {1: [1, 2, 4]}a[1].append(4)
print(a, b)
# 输出:{1: [1, 2, 4, 4]} {1: [1, 2, 4, 4]}
# 由于a和b的子对象仍然是指向同一对象,对a的子对象的修改等于对b子对象的修改a[2] = 'abc'
print(a, b)
# 输出:{1: [1, 2, 4, 4], 2: 'abc'} {1: [1, 2, 4, 4]}
b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。
import copy
a = {1: [1, 2, 4]}
c = copy.deepcopy(a)
print(a, c)
# 输出:{1: [1, 2, 4]} {1: [1, 2, 4]}
a[1].append(5)
print(a, c)
# 输出:{1: [1, 2, 4, 5]} {1: [1, 2, 4]}
Python 直接赋值、浅拷贝和深度拷贝区别相关推荐
- Python 直接赋值、浅拷贝和深度拷贝全解析
直接赋值:其实就是对象的引用(别名,其实就是一个人今天叫张三 明天叫张狗子的意思). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 de ...
- python中浅拷贝和深度拷贝的区别
在很多面试题中都会问到浅拷贝跟深度拷贝的区别,前几天一个朋友也问到了我浅拷贝跟深度拷贝到底有什么区别,这里就简单举栗子讲一下两者的区别. 浅拷贝(copy()):拷贝父对象,不会拷贝对象的内部的子对象 ...
- python赋值浅拷贝和深拷贝的区别_python赋值、浅拷贝、深拷贝区别
在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷贝和深拷贝的概念,你的代码就可能出现一些问题.所以,在这里按个人的理解谈谈它们之间的区别. 一.赋值(assignment) 在<Py ...
- Python 直接赋值、浅拷贝和深度拷贝解析
转自菜鸟教程: https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html 直接赋值:其实就是 ...
- python深度复制_Python直接赋值、浅拷贝和深度拷贝解析
直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 ...
- Python直接赋值,浅拷贝和深度拷贝
查阅得: 直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象 ...
- 【Python】直接赋值、浅拷贝和深度拷贝解析
直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 ...
- python怎么避免浅拷贝_深度解读Python深拷贝与浅拷贝问题
Illustrations by Leon Tukker ♚ 作者:PayneLi,Python全家桶,主要讲述数据挖掘.机器学习和深度学习领域的前沿技术,同时还会推荐一些行业最新论文.技术专家的经验 ...
- Python:赋值,copy和deepcopy区别
参考:Python赋值,copy,deepcopy区别 结论 copy()与deepcopy()之间的主要区别是python对数据的存储方式. python2中,需要import copy模块.pyt ...
最新文章
- leetcode C++ 46. 全排列 给定一个 没有重复 数字的序列,返回其所有可能的全排列。
- 基于opengl的复杂图形三维建模实现
- flink启动命令参数_[Flink]Flink1.3 指南四 命令行接口-阿里云开发者社区
- java版数据结构解迷宫问题_C语言数据结构之迷宫问题
- python带参数装饰器 函数名_python 全栈开发,Day11(函数名应用,闭包,装饰器初识,带参数以及带返回值的装饰器)...
- 非关系型数据库--MongoDB
- Tensorflow GAN对抗生成网络实战
- Grid使用 ComboBox Binding DateTime Format WPF
- n160ii打印机查看ip地址_喷墨打印机自动清洁打印头方法你知道几个?
- java实验报告遇到的问题,JAVA实验报告_doc
- haneWIN NFS Server|haneWIN NFS Server(优秀NFS服务器)V1.2.16官方版-绿色下载吧
- NDK开发Android端RTMP直播推流程序
- 计算机无法继续安装程序,电脑提示nvidia安装程序无法继续 如何解决 - 驱动管家...
- 超级详细的H3C模拟器HCL的交换机Telnet服务配置过程(图文)
- python解压zip文件_python怎样压缩和解压缩ZIP文件(转)
- PoE介绍(网线供电)和POE交换机常见连接架构
- [Spark好友推荐]
- Vite css 热重载失效
- 中兴危机,谁最应该反思?
- A Survey of Adversarial Learning on Graph
热门文章
- Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
- OSChina 周五乱弹 —— 静静的思考下人生
- MAC apache配置
- 错误:Failed to create the Java Virtual Machine
- 运行Google CTemplate首页的例子遇到_CrtIsValidHeapPointer异常
- java 取得日期_java-如何从某个日期获取日期列表?
- python中自定义函数如何传递动态参数_python 函数的动态参数
- node 生成随机头像_微信头像新玩法?二次元头像自己捏,每款都独一无二
- 【学习笔记】JS进阶语法一事件进阶
- JDK、JRE、JVM三者间的关系