Python学习-列表深浅拷贝】的更多相关文章

一.先看一个简单的赋值语句 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', '…
 深浅拷贝 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) 结果…
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[…
1.内存地址: 字符串在20位以内,没有空格,没有特殊字符的情况下,同样的字符串内存地址是一样的 2.元组中:在只有一个值的时在后边加逗号和没有逗号的区别 t1=(1) 不加逗号这个值是什么类型就打印什么类型, 加上逗号才能正常打印元祖类型 t2=(1,) print(t1,type(t1)) #打印出来是数字类型那个的,1 <class 'int'> print(t2,type(t2)) #加上逗号之后才能让他是元祖类型,(1,) <class 'tuple'> t3=(&quo…
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可变数据类型才有区别 ############## 示例 ########…
目录 第五篇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…
对于数字.字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy").center(60,'*') print(num,id(num)) print(copy_num,id(copy_num)) print("These are deep copy").center(60,'*') deep_copy_num = copy.deepcopy(num) pr…