当前位置: 移动技术网 > IT编程>脚本编程>Python > Python_深拷贝和浅拷贝

Python_深拷贝和浅拷贝

2019年09月12日  | 移动技术网IT编程  | 我要评论

高力宝,星点龟,wmsyspr9.prx

深拷贝与浅拷贝

import copy
v = 123
v1 = copy.copy(v) #浅拷贝
v2 = copy.deepcopy(v) #深拷贝

**拷贝只拷贝可变数据类型,浅拷贝只拷贝第一层,深拷贝拷贝所有层

不可变数据类型:int  str  bool 元组tuple

可变数据类型:列表list  集合set  字典dict

# 变量是 int  str  bool 元组tuple
v = “wangxiaobei”
v1 = copy.copy(v) #浅拷贝
v2 = copy.deepcopy(v) #深拷贝
print(id(v),id(v1))
print(id(v),id(v2))

#2877544721776 2877544721776
#2877544721776 2877544721776

 深拷贝和浅拷贝在对不可变数据进行复制时,不改变数据,都是指向该数据的地址(原因是python的小数据池)

# 列表
v = [1,2,3]
v1 = copy.copy(v)
v2 = copy.deepcopy(v)
print(id(v),id(v1))
print(id(v),id(v2))

#2877551762760 2877544718856
#2877551762760 2877551412680

# 嵌套列表
v = [1,2,[22,11,33]]
v1 = copy.copy(v)
v2 = copy.deepcopy(v)
print(id(v[2]),id(v1[2]))
print(id(v[2]),id(v2[2]))

#2877551763208 2877551763208
#2877551763208 2877544722184

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网