Python (深浅拷贝)
1、深拷贝 --> 克隆一份,修改拷贝后的内容不对原对象内容产生影响
- 拷贝后修改序列中元素内容,注意:被修改的元素不能为一个序列中的某个值
- a = [["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]
- b = a.copy()
- b[1] = "天津多测师"
- print(a)
- print(b)
- # 结果如下
- [['北京多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师'] # 列表 a 中的 "上海多测师" 未修改为 "天津多测师"
- [['北京多测师', '成都多测师'], '天津多测师', '深圳多测师', '广州多测师'] # 列表 b 中的 "上海多测师" 修改为 "天津多测师"
- copy 模块中的 deepcopy()
- import copy
- a = [["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]
- b = copy.deepcopy(a)
- b[0][0] = "天津多测师"
- print(a)
- print(b)
- # 结果如下
- [['北京多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师'] # 原列表 a 未发生改变
- [['天津多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师'] # 列表 b 中的第一个元素中的 "北京多测师" 修改为 "天津多测师"
2、浅拷贝 --> 修改拷贝后的内容原对象内容随之修改
- a = [["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]
- b = a.copy()
- b[0][0] = "天津多测师"
- print(a)
- print(b)
- # 结果如下
- [['天津多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师']
- [['天津多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师'] # 列表 a 和 b 中的 "北京多测师" 都修改为 "天津多测师"
- copy 模块中的 copy()
- import copy
- a = [["北京多测师","成都多测师"],"上海多测师","深圳多测师","广州多测师"]
- b = copy.copy(a)
- b[0][0] = "天津多测师"
- print(a)
- print(b)
- # 结果如下
- [['天津多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师']
- [['天津多测师', '成都多测师'], '上海多测师', '深圳多测师', '广州多测师'] # 列表 a 和 b 中的 "北京多测师" 都修改为 "天津多测师"
3、实例讲解
- # 现有老公张三有额度为 200000 元的信用卡,卡号为:20200520,已使用的额度:15000
- # 现需要实现张三的老婆 Andy 也需要绑定这张信用卡进行付款
- zs_card = ["张三",20200520,[200000,15000]] # 张三名下的信用卡
- ad_card = zs_card.copy() # 妻子 Andy 账户也开了一张绑定张三信用卡的信用卡,且修改姓名和卡号
- ad_card[0] = "Andy"
- ad_card[1] = 20200521
- print(ad_card) # 打印出 Andy 的信用卡信息 ['Andy', 20200521, [200000, 15000]]
- zs_card[2][1] += 2000 # 此时张三使用了信用卡且刷了 2000 元
- print(ad_card) # 此时 Andy 的信用卡额度也随之变化
- # 运行结果如下
- ['Andy', 20200521, [200000, 15000]]
- ['Andy', 20200521, [200000, 17000]] # 张三刷卡后,Andy 所持的信用卡已使用的额度随之增长
Python (深浅拷贝)的更多相关文章
- Python开发【第二章】:Python深浅拷贝剖析
Python深浅拷贝剖析 Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果. 下面本文就通过简单的例子介绍一下这些概念之间的差别. 一.对象赋值 ...
- 小学生都能学会的python(深浅拷贝)
小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...
- 【0806 | Day 9】三张图带你了解数据类型分类和Python深浅拷贝
一.数据类型分类 二.Python深浅拷贝
- 底层剖析Python深浅拷贝
底层剖析Python深浅拷贝 拷贝的用途 拷贝就是copy,目的在于复制出一份一模一样的数据.使用相同的算法对于产生的数据有多种截然不同的用途时就可以使用copy技术,将copy出的各种副本去做各种不 ...
- 关于python深浅拷贝的个人浅见
起初,关于python的深浅拷贝,总是习惯去用传值传址的方式去考虑,发现总是get不到规律,容易记混. python有着高度自治的内存管理,而不可变对象的内存分配,则是能省则省,就是说,无论用什么拷贝 ...
- python深浅拷贝与赋值
初学编程的小伙伴都会对于深浅拷贝的用法有些疑问,今天我们就结合python变量存储的特性从内存的角度来谈一谈赋值和深浅拷贝~~~ 预备知识一——python的变量及其存储 在详细的了解python中赋 ...
- python 深浅拷贝 进阶
主要理解新与旧究竟在哪里 这样也就理解了 深浅拷贝 先说说赋值,事实上python中的赋值事实上是赋值了一个引用.比如: foo1=1.0 foo2=foo1 用操作符is推断时.你能够发现结果是tr ...
- python深浅拷贝&垃圾回收&上下文管理(with语句)
深浅拷贝 在Python中使用copy模块用于对象的拷贝操作. 该模块提供了两个主要的方法:浅拷贝 copy.copy() 深拷贝 copy.deepcopy() 1.浅拷贝(copy) 浅拷贝: 不 ...
- 关于Python深浅拷贝
拷贝: 说明:原则上就是把数据分离出来,复制其数据,并以后修改互不影响. 何来深浅拷贝的说法? 深浅拷贝的“深”和“浅”可以理解为从变量到硬盘上的物理存储介质之间的层次的多少. 下面用一个示例来解释浅 ...
- python 深浅拷贝 for循环删除
###########################总结########################### 1. 基础数据类型补充 大多数的基本数据类型的知识.已经学完了 a='aaaa' ls ...
随机推荐
- String、StringBuffer、StringBuilder葫芦三兄弟
今年因为疫情的原因,本打算在读研期间好好做项目,写论文,在今年9月份能找个好工作,但现在迟迟不能开学,也无法正常的给导师打工,所以干脆就打算好好准备工(fan)作(wan)的事儿. 接触Java也有好 ...
- 中阶 d05 tomcat 安装 eclipse上配置tomcat
eclipse使用参考 https://www.bilibili.com/video/av49438855/?p=24 1. 直接解压 ,然后找到bin/startup.bat 2. 可以安装 启动之 ...
- "文本"组件:<text> —— 快应用原生组件
 <template> <div class="container"> <text>H-UI</text> </div> ...
- matplotlib IdentityTransform(原地变换)
2020-04-12 23:33:56 -- Edit by yangrayIdentityTransform继承于Affine2DBase类,它是一个高效实现原地变换的类.(不知道有什么用,变换前后 ...
- 008-进制-C语言笔记
008-进制-C语言笔记 学习目标 1.[掌握]include预处理指令 2.[掌握]多文件开发 3.[了解]认识进制 4.[掌握]进制之间的互相转换 5.[掌握]原码,反码,补码 6.[掌握]位运算 ...
- 运输层--------运输层与网络层的关系、UDP、TCP
一.运输层与网络的区别: 网络层提供了主机之间的逻辑通信,而运输层为运行在不同主机上的进程之间提供了逻辑通信 二.实例证明: 考虑有两个家庭,一家位于美国东岸,一家位于美国西海岸,每家有12孩子.东海 ...
- 接口测试中实际发生的几个问题——python中token传递
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:AFKplayer PS:如有需要Python学习资料的小伙伴可以加点 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- MYSQL和SQL Server 的区别
注意MYSQL使用注释 -- 时 要后面加上空格 使用 #不用 一.数据类型 MYSQL:支持enum和set类型 ;SQL SERVER:不支持 MYSQL:不支持nchar,nvarchar,nt ...
- PHP xml 外部实体注入漏洞学习
XML与xxe注入基础知识 1.XMl定义 XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言:可扩展的样式语言(Exten ...