【python】赋值引用、浅拷贝、深拷贝的使用

【个人理解】

  赋值后的变量还是指向相同的内存地址,也不算叫变量,相当于原有列表的别名或标签名。

  浅拷贝:浅拷贝只会拷贝原列表最外层(父层),且套的列表指向的内存地址还是和原列表一致。原来的列表操作父层没有关系,操作子层会和原列表一致。

  深拷贝:深拷贝会把父层子层都重新有新的内存地址,原来的列表操作和它没有一丝关系。

【代码示例】

# 赋值引用、浅拷贝和深拷贝
import copy

list_demo = [1, 2, 3, [5, 6]]
Assignment = list_demo
shallow_copy = list_demo.copy()
deep_copy = copy.deepcopy(list_demo)
print('原列表%s,赋值后%s, 浅拷贝%s, 深拷贝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
print('--------------------------------------')
list_demo.append(88)
list_demo[3] .append(7)
print('原列表%s,赋值后%s, 浅拷贝%s, 深拷贝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
【执行结果】

 

posted @ 2021-06-21 15:30  jasonchenYT  阅读(45)  评论(0编辑  收藏  举报