Python学习(006)-深浅拷贝及集合】的更多相关文章

 深浅拷贝 import copy husband=['xiaoxin',123,[200000,100000]] wife=husband.copy() #浅拷贝 wife[0]='xiaohong' wife[1]=' xiaosan=copy.deepcopy(husband) #深拷贝 xiaosan[0]='xiaoyu' xiaosan[1]=' wife[2][1] -=2000 xiaosan[2][1] -=1999 print(husband,wife,xiaosan) 结果…
深浅拷贝:参考:http://www.cnblogs.com/yuanchenqi/articles/5782764.html s = [[1, 2], 'lily', 'hello'] s2 = s.copy() print(s2) s2[0][1] = 3 print(s2) print(s) # >>> [[1, 2], 'lily', 'hello'] # >>> [[1, 3], 'lily', 'hello'] # >>> [[1, 3],…
4.2 深浅拷贝 4.2.1 认识 首先应该知道python中变量在内存中是怎么存放的! 在python中,变量与变量的值占用不同的内存.变量占用的内存,并非直接存储数值,而存储的是值在内存中的地址. 各种变量在内存中的存储,如下图: 下面进行代码测试: ls = ['德玛','皇子','赵信'] ls1 = ls #ls1 = ls 实际上是ls1指向了ls指向的地址块,两者指向的是同一块地址区域,不是拷贝 print(ls1) #输出ls = ['德玛','皇子','赵信'] ls.appe…
深浅拷贝 一.浅拷贝 只拷贝第一层数据(不可变的数据类型),并创建新的内存空间进行储蓄,例如:字符串.整型.布尔 除了字符串以及整型,复杂的数据类型都使用一个共享的内存空间,例如:列表 列表使用的是同一个内存地址,指向原拷贝的值,即使用的是原本的内存空间 import copy #假设a为一个信用卡账号,分别存有用户名称XM.账号1001.可用额度以及余额 a=['XM',1001,[10000,8000]] #b为a的一张副卡,给他人使用用户名称XM1.账号1002 b=a.copy() b[…
一.先看一个简单的赋值语句 lst1 = ['France', 'Belgium', 'England'] lst2 = lst1 # lst1.append('Uruguay') lst2.append('Uruguay') print(lst1, lst2) # 猜测一下lst1, lst2的结果:lst2变化是否对lst1产生影响,lst1变化是否对lst2产生影响 输出结果: ['France', 'Belgium', 'England', 'Uruguay'] ['France', '…
4-4 day07 深浅拷贝&文件操作 .get()用法 返回指定键的值,如果值不在字典中返回默认值. info={'k1':'v1,'K2':'v2'}mes = info.get('k1')print(mes)    #v1​mes2 = info.get('k3',123)print(mes2) #123 1.深浅拷贝 对str,int,bool,tuple不可变数据类型深浅拷贝都一样,对于list,dict,set可变数据类型才有区别 ############## 示例 ########…
四.小数据池,深浅拷贝,集合+菜中菜 1小数据池 --缓存机制(驻留机制) ​ '==' 判断两边内容是否相等 ​ 'is' 基于内存地址进行判断是否相同 a = 10 b = 10 print(a == b ) #is print(a is b) 小数据池的数字范围: -5 ~256 a = -5 b = -5 c = -5 print(id(a)) print(id(b)) print(id(c)) #<-5不行 a = -6 b = -6 print(id(a)) print(id(b))…
目录 第五篇python进阶之深浅拷贝 一.引言 1.1可变 和不可变 二.拷贝(只针对可变数据类型) 三.浅拷贝 四.深拷贝 第五篇python进阶之深浅拷贝 一.引言 1.1可变 和不可变 id不变 值可以变 即为可变数据类型:值变id也变,即为不可变数据类型 age = 19 print(f'first:{id(age)}') age = 20 print(f'second:{id(age)}') first:4384901776 second:4384901808 二.拷贝(只针对可变数…
Python中的深浅拷贝 在讲深浅拷贝之前,我们先重温一下 is 和==的区别. 在判断对象是否相等比较的时候我们可以用is 和 == is:比较两个对象的引用是否相同,即 它们的id 是否一样 == : 比较两个对象的值是否相同. id() ,是Python的一个内置函数,返回对象的唯一标识,用于获取对象的内存地址. 如下 首先,会为整数1分配一个内存空间. 变量a 和 b 都指向了这个内存空间(内存地址相等),所以他们的id相等. 即 a is b 为 True 但是,真的所有整数数字都这样…
Python 中的深浅拷贝 参考文献:https://blog.csdn.net/lnotime/article/details/81194633 参考文献:https://blog.csdn.net/qq_18824345/article/details/105136885 参考文献:https://www.cnblogs.com/echoboy/p/9059183.html 1. is 和 ==的介绍 1.1 ==的使用 == 则是判断两个对象的值是否相等,不管两个变量的引用对象是否相同 a…