python入门之深浅拷贝_07

---浅拷贝、深拷贝-------
#使用场景:面试,工作中要区分深浅拷贝的使用

#6.1浅拷贝:
#浅拷贝对第一层目录做的为深拷贝,如果第一层目录可变的情况下,则修改拷贝后的值,原始值不发生变化
#浅拷贝只拷贝第一层目录,其他嵌套目录为引用,如果嵌套数据类型可变的情况下,对靠拷贝后嵌套的值进行改变则原始值也进行改变
# 语法:dict.copy()

# 实例:
test_dict={"key1":"111","key2":"222","key3":[1,2,3,"hello"]}
new_dict=test_dict.copy()
print("浅拷贝前的原始值:",test_dict,id(test_dict))
print("浅拷贝拷贝后的值:",new_dict,id(new_dict))
new_dict["key3"][1]=100  #进行修改浅拷贝后的值
print("========="*20)
print("浅拷贝后修改拷贝后的值输出的原始值:",test_dict,id(test_dict))
print("浅拷贝后修改拷贝后的值输出的浅拷贝的值:",new_dict,id(new_dict))
print("******"*20)

#6.2深拷贝:
#深拷贝对所有目录做深拷贝,全部拷贝
#深拷贝,如果嵌套数据类型可变的情况下,对靠拷贝后嵌套的值进行改变则原始值不进行改变
# 语法:copy.deepcopy()

# 实例:
import copy
test_dict={"key1":"111","key2":"222","key3":[1,2,3,"hello"]}
new_dict=copy.deepcopy(test_dict)
print("深拷贝前的原始值:",test_dict,id(test_dict))
print("深拷贝拷贝后的值:",new_dict,id(new_dict))
new_dict["key3"][1]=100  #进行修改浅拷贝后的值
print("******"*20)
print("深拷贝后修改拷贝后的值输出的原始值:",test_dict,id(test_dict))
print("深拷贝后修改拷贝后的值输出的浅拷贝的值:",new_dict,id(new_dict))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值