python基础三(深浅拷贝)
1.赋值操作
list_1 = [1,2,3,['barry','Jerry']]
list_2 = list_1
list_1[0] = 111
print(list_1) # [111, 2, 3, ['barry', 'Jerry']]
print(list_2) # [111, 2, 3, ['barry', 'Jerry']]
对于赋值运算操作。list[1]与list[2]指向的是同一个内存地址。所以完全一样
2.浅拷贝
# -------------浅拷贝----------------
# 对于浅拷贝而言。第一层的创建时新的内存地址。而从第二层开始指向的都是同一块内存地址
list_1 = [1,2,3,['barry','Jerry']]
list_2 = list_1.copy()
list_1[0] = 111
print(id(list_1[3])) # 40904072 同一块内存地址
print(id(list_2[3])) # 40904072 同上
print(list_1) # [111, 2, 3, ['barry', 'Jerry']]
print(list_2) # [1, 2, 3, ['barry', 'Jerry']]
对于浅拷贝而言。第一层创建时产生新的内存地址。而从第二层开始指向的都是同一块内存地址
3.深拷贝
# -------------深拷贝----------------
import copy
list_1 = [1,2,3,['barry','Jerry']]
list_2 = copy.deepcopy(list_1)
list_1[3][0]=['Jack']
print(list_1) # [1, 2, 3, [['Jack'], 'Jerry']]
print(list_2) # [1, 2, 3, ['barry', 'Jerry']]
对于深拷贝而已。创建两个不同的内存地址。只是将list1 中的元素完整的拷贝一份给list2
python基础三(深浅拷贝)的更多相关文章
- python基础(6)-深浅拷贝
赋值 字符串和数字 # id()函数可以获取变量在内存中的地址标识 num1 = 2; num2 = 2; print(id(num1)) # result:8791124202560 print(i ...
- python 基础之深浅拷贝
深浅拷贝 s=[[1,2],'fgfgf','cx'] s3=s.copy() print(s) print(s3) 测试 D:\python\python.exe D:/untitled/dir/f ...
- Python基础:深浅拷贝
对于数字.字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy") ...
- 第五篇python进阶之深浅拷贝
目录 第五篇python进阶之深浅拷贝 一.引言 1.1可变 和不可变 二.拷贝(只针对可变数据类型) 三.浅拷贝 四.深拷贝 第五篇python进阶之深浅拷贝 一.引言 1.1可变 和不可变 id不 ...
- day07 python列表 集合 深浅拷贝
day07 python 一.知识点补充 1."".join() s = "".join(('1','2','3','4','5')) #将字符串 ...
- Python 基础 三 反射
Python 基础 三 反射 今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一 ...
- 天啦噜!仅仅5张图,彻底搞懂Python中的深浅拷贝
Python中的深浅拷贝 在讲深浅拷贝之前,我们先重温一下 is 和==的区别. 在判断对象是否相等比较的时候我们可以用is 和 == is:比较两个对象的引用是否相同,即 它们的id 是否一样 == ...
- Python 中的深浅拷贝
Python 中的深浅拷贝 参考文献:https://blog.csdn.net/lnotime/article/details/81194633 参考文献:https://blog.csdn.net ...
- python之路(三)-深浅拷贝
深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层.所 ...
- Python基础【3】:Python中的深浅拷贝解析
深浅拷贝 在研究Python的深浅拷贝区别前需要先弄清楚以下的一些基础概念: 变量--引用--对象(可变对象,不可变对象) 切片(序列化对象)--拷贝(深拷贝,浅拷贝) 我是铺垫~ 一.[变量--引用 ...
随机推荐
- hdu 5396 Expression
考虑到此题麻烦了某hust大神&体现出了自己数学能力的欠缺 虽然最近一直比较忙 还是把这题的题解写下来吧 首先看完数据范围后 应该有不少人会反应到是$n^3$的DP 以$F[i][j]$表示从 ...
- Asp.Net Core 第07局:路由
总目录 前言 本文介绍Asp.Net Core 路由. 环境 1.Visual Studio 2017 2.Asp.Net Core 2.2 开局 第一手:路由概述 1.路由主要用于处理特定的请求. ...
- git设置忽略文件.gitignore
在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件 ...
- cabal替代脚本
由于网络原因,直接使用cabal update不成功,只能自己写脚本直接从网上拖包下来,自己安装. 但是这样做的缺点是需要手动处理dependency,当然,也可以把脚本写的复杂些,自动来处理depe ...
- ORCAL 数据库的约束以及SQL语言的四种类型
oracle数据库约束: 定义:要输入的这个值是一个什么样的值, 或者是哪个范围内的值 作用: 确保完整性, 确保精确性 1, 非空约束(not null) 记录一条信息的时候如果用户名和密码没有被记 ...
- Ajax 中Post 与 Get的 实例
Ajax中 Post 与 Get 实例 Ajax的POST实例,index.html <html> <head> <script type="text/ja ...
- Ubuntu添加与删除PPA源
目录 PPA,英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launc ...
- IIS 部署网站本地可访问,外网无法访问
1,检查防火墙入站规则,查看本地端口状态 cmd 命令:netstat -na 2:远程连接测试 cmd 命令:telnet IP Port ,如:telnet 127.0.0.1 135 ,连接成功 ...
- 了解JSON Web令牌(JWT)
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案.今天给大家介绍JWT的原理和用法. 1.跨域身份验证 Internet服务无法与用户身份验证分开.一般过程如下. 1.用户向服 ...
- 分批插入数据基于mybatis
DB框架:Mybatis.DataBase:Oracle. ---------------------------------------------------------------------- ...