####深浅拷贝#####
nums1 = [1,2,3,4,5]
nums2 = nums1 #不是拷贝,是一个指向,是赋值
nums3 = nums1.copy() #浅拷贝,拷贝同样内容,地址不一样,不是同一个对象,浅拷贝只拷贝第一层数据
nums2[0] = 11
print(nums1,nums2,nums3) #[11, 2, 3, 4, 5] [11, 2, 3, 4, 5] [1, 2, 3, 4, 5]
print(id(nums1),id(nums2),id(nums3))#4396862656 4396862656 4396862720
import copy
ww1 = ["hello","good",[11,22,33],"123"]
ww2 = ww1.copy()
print(ww1)#['hello', 'good', [11, 22, 33], '123']
print(ww2)#['hello', 'good', [11, 22, 33], '123']
ww2[0] = 22
print(ww1)#['hello', 'good', [11, 22, 33], '123']
print(ww2)#[22, 'good', [11, 22, 33], '123']
ww1[2][0] = 9999 #浅拷贝只拷贝第一层
print(ww1) #['hello', 'good', [9999, 22, 33], '123']
print(ww2) #[22, 'good', [9999, 22, 33], '123']
#深拷贝只能使用copy模块
#深拷贝 deepcopy
ww3 = copy.deepcopy(ww1)
ww1[2][1] = 1000000
print(ww1)#['hello', 'good', [9999, 1000000, 33], '123']
print(ww3)#['hello', 'good', [9999, 22, 33], '123']
python深浅拷贝
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 说下对python深浅拷贝的理解。并有代码简单实现 浅拷贝:浅拷贝是对于一个对象的顶层拷贝,拷贝了引用,并没有拷贝...