python小白——进阶之路——day7天-———深浅拷贝

###深拷贝 与 浅拷贝
'''
a = 15
b = a
a =16
print(b)

lst1 = [1,2,3]
lst2 = lst1
lst1.append(4)
print(lst2)
'''
# 浅拷贝 只拷贝一级所有元素
lst1 = [1,2,3]
# lst2 = lst1
lst2 = lst1.copy()
print(lst2)
lst1.append(4)
print(lst2)
print(lst1)
#使用模块进行浅拷贝操作
import copy
#copy 模块下面有一个同名copy方法
lst1 = [1,2,3]
lst2 =copy.copy(lst1)
lst1.append(5)
print(lst2)
#深拷贝 将所有级别的元素统统独立拷贝一份
'''每一级的所有元素通通拷贝一份,不沿用以前的数据'''
# import 引入 copy 复制模块 deepcopy 深拷贝 copy浅拷贝
import copy
lstvar =[1,2,3,[4,5,6]]
lstvar2 = copy.deepcopy(lstvar)
lstvar[-1].append(7)
print(lstvar2)

dictvar = {'a':[1,2],"b":{"c":123,"d":[7,8,9]}}
dic2 = copy.deepcopy(dictvar)
dictvar["b"]["d"].extend("ab")
print(dic2)


listvar = [1,2,3,[4,5]]
lst2 = copy.copy(listvar)
listvar.append(66)
print(lst2)
listvar = [1,2,3,"45"]
listvar[-1] = 111222

# 使用列表的切片实现浅拷贝 , 不能实现深拷贝
lst = [1,2,3,[4,5]]
lst2 = lst[:] # lst[::]
lst[-1].append(6)
print(lst2)

转载于:https://www.cnblogs.com/-sch-593057927/p/10854169.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值