24、python基础学习-深浅拷贝

 1 #!/usr/bin/env python
 2 #__author: hlc
 3 #date: 2019/6/1
 4 
 5 #  浅拷贝,只能拷贝一层,第二层列表会指向原来的内存地址
 6 # a = [1,"asd","lsdfj"]
 7 # b = a.copy()
 8 # b[2] = 345
 9 # print(a) # [1, 'asd', 'lsdfj']
10 # print(b) # [1, 'asd', 345]
11 
12 # a = [["sdfa","34345"],"asdf",565674]
13 # b = a.copy()
14 # print(a) # [['sdfa', '34345'], 'asdf', 565674]
15 # b[0][1] = "qwer"
16 # print(a) # [['sdfa', 'qwer'], 'asdf', 565674]
17 # print(b) # [['sdfa', 'qwer'], 'asdf', 565674]
18 # a[0]和b[0] id没有改变,a[0][1]和b[0][1]id改变了,所以a和b都变化了
19 
20 # 深拷贝,克隆一份
21 # import copy
22 # a = [["sdfa","34345"],"asdf",565674]
23 # b = copy.deepcopy(a)
24 # b[0][1] = "kdsjgk"
25 # print(a) # [['sdfa', '34345'], 'asdf', 565674]
26 # print(b) # [['sdfa', 'kdsjgk'], 'asdf', 565674]

 

posted @ 2019-06-01 14:17  hlc-123  阅读(89)  评论(0编辑  收藏  举报