python中的赋值与深浅拷贝的区别

时间:2023-03-09 21:20:09
python中的赋值与深浅拷贝的区别
import copy
lt = [1, 2, [3, 4]]
# 赋值会增加一个引用,访问的都是同一数据
# lt2 = lt
# 浅拷贝:只拷贝对象本身,里面的元素只会增加一个引用
lt2 = lt.copy()
# 专门的拷贝函数,也是浅拷贝,等价于上面的拷贝
lt2 = copy.copy(lt)
# 深拷贝:拷贝对象本身,对象中的元素也进行拷贝
# lt2 = copy.deepcopy(lt)
lt[0] = 100
lt[2][0] = 30
print(lt)
print(lt2)
print(id(lt))
print(id(lt2))
# 判断是否是同一对象的多个引用
print(lt is lt2)

  python中的赋值与深浅拷贝的区别