阅读背景:

2019.8.6学习内容及笔记

来源:互联网 

小结

python深浅拷贝

# 拷贝(赋值)
# l1 = [1,2,3]
# l2 = l1
# l1.append(4)
# print(l1)
# print(l2)
# 由于列表是可变类型,所以l1的值产生变更,l2的值也会随着变更(这就是拷贝)

# 浅拷贝
# import copy #
# l1 = [1,2,3,4,[5,6,7]]
# l2 = copy.copy(a) #(浅拷贝)
# l1.append(8)
# print(l1) #
# print(l2) #
# l1[4].append(8)
# print(l1)
# print(l2)
# 当b为a的浅拷贝对象时,a内可变类型变更,b变更,a内不可变型变更,b不变更

# 深拷贝
# import copy
# l1 = [1,2,3,[4,5,6]]
# l2 = copy.deepcopy(l1)
#l1.append(7)
#print(l1)
#print(l2)
# s[3].append(7)
# print(l1)
# print(l2)
# 注:当l2为l1的深拷贝对象时,l1内的可变类型变更,l2不变更;l1的不可变型变更;l2不变更
# 总结
# 牢记:拷贝、浅拷贝、深拷贝  只针对可变数据类型
# 拷贝: 当lt2为lt的拷贝对象时,lt内的可变类型变更,lt2变更;lt内的不可变类型变更,lt2变更
# 简略的赋值

# 浅拷贝:当lt2为lt的浅拷贝对象时,lt内的可变类型变更,lt2变更;lt内的不可变类型变更,lt2不变更
# copy.copy()   可变数据的类型中的内置办法.copy()

# 深拷贝: 当lt2为lt的深拷贝对象时,lt内的可变类型变更,lt2不变更;lt内的不可变类型变更,lt2不变
# copy.deepcopy()
### 作用:毫无用途,面试常常问# 拷贝(赋值)
# l1 = [1,2,3]
# l2 = l1



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: