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]