---浅拷贝、深拷贝-------
#使用场景:面试,工作中要区分深浅拷贝的使用
#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))
python入门之深浅拷贝_07
最新推荐文章于 2025-08-20 15:08:23 发布
本文详细介绍了Python中浅拷贝和深拷贝的概念、使用场景及区别。通过实例展示了如何使用dict.copy()进行浅拷贝以及使用copy.deepcopy()进行深拷贝。在浅拷贝中,修改拷贝后的嵌套可变数据会同时影响原始值,而深拷贝则确保了对拷贝后数据的修改不会影响原始值。
1万+

被折叠的 条评论
为什么被折叠?



