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的深浅拷贝区别前需要先弄清楚以下的一些基础概念: 变量--引用--对象(可变对象,不可变对象) 切片(序列化对象)--拷贝(深拷贝,浅拷贝) 我是铺垫~ 一.[变量--引用 ...
随机推荐
- [CSP-S模拟测试]:次芝麻(数学)
题目描述 小$K$和小$X$都是小次货.身为小次货,最重要的事情就是次啦!所以他们正在纠结如何分芝麻次.一开始,小$K$有$n$个芝麻,小$X$有$m$个芝麻.因为他们都想次更多芝麻,所以每次手中芝麻 ...
- 前端每日实战:24# 视频演示如何用纯 CSS 创作出平滑的层叠海浪特效
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/JvmBdE 可交互视频教程 此视频 ...
- python之正则表达式(re模块)用法总结
用一句表示正则表达式,就是 字符串的模糊 匹配
- 杂项:JFB-权限设置
ylbtech-杂项:JFB-权限设置 1. 家政经理返回顶部 1. if (UserContext.GetTeamId() == (int)UserType.Manager) { condition ...
- SPRING CLOUD微服务DEMO-上篇
目录 1. 微服务架构 2. 远程调用方式 2.1 RPC/RMI 2.2 Http 2.3 如何选择 3. Http客户端工具 3.1 RestTemplate 4. Spring Boot 搭建项 ...
- Python 多进程异常处理
前言 最近项目用到了Python作为网站的前端,使用的框架是基于线程池的Cherrypy,但是前端依然有一些比较‘重’的模块.由于python的多线程无法很好的利用多核的性质,所以觉得把这些比较‘重’ ...
- [python面试题] 什么是单例,单例有什么用,业务场景是什么
单例概念: 单例是一个特殊的类,这个类只能创建一次实例,例子如下: 1.a = Std(name='leo'), b = Std(name='jack'),两者的指向都是name=‘leo’的对象: ...
- python3反转列表的三种方式
1.内建函数 reversed() li = [1,2,3,4,5,6] a = list(reversed(li)) print(a) 注意:reversed()函数返回的是一个迭代器,而不是一个L ...
- layer子窗口赋值给父窗口
子窗体赋值给父窗体: parent.$('#Receiver').val(typearr); //关闭子弹窗 var index = parent.layer.getFrameIndex(window ...
- PAT甲级【2019年3月考题】——A1159 Structure_of_a_BinaryTree【30】
Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and i ...