【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))
【执行结果】

原文地址:https://www.cnblogs.com/ygod323/p/14913656.html