import copy
a = [1, 2] b = [5, 6] c = a.copy() print(id(a), id(c)) # 指向完全独立个体,相互无影响 a.append('a') c.append(4) print(a, c) # 修改浅拷贝的c不影响原a # [1, 2, 'a'][1, 2, 4] a.append(3) print(id(a), id(c)) print(a, c) # 修改a也不影响c # [1, 2, 'a', 3][1, 2, 4] d = copy.deepcopy(b) # 指向完全独立个体,相互无影响 print(id(b), id(d)) b.append('b') print(b, d) '''总结:单一变量,copy和deepcopy 都形成了独立个体''' e = [a, b] print('e', e) f = e print(e, f) print(id(e), id(f)) # 赋值指向同一个体 a.append('aa') print(e, f) # [[1, 2, 'a', 3, 'aa'], [5, 6, 'b']] [[1, 2, 'a', 3, 'aa'], [5, 6, 'b']] a会影响e,f print(a, b) f[1].append('ff') print(e, f) print(id(e), id(f)) print(a, b) # f,e,a,b,相互影响 # [1, 2, 'a', 3, 'aa'][5, 6, 'b'] # [[1, 2, 'a', 3, 'aa'], [5, 6, 'b', 'ff']][[1, 2, 'a', 3, 'aa'], [5, 6, 'b', 'ff']] # 35859432 # 35859432 # [1, 2, 'a', 3, 'aa'][5, 6, 'b', 'ff'] h = copy.deepcopy(e) print(id(e), id(h)) h[1].append('hh') print(e, h) print(a, b) # 37104536 # 37051448 # [[1, 2, 'a', 3, 'aa'], [5, 6, 'b', 'ff']][[1, 2, 'a', 3, 'aa'], [5, 6, 'b', 'ff', 'hh']] # [1, 2, 'a', 3, 'aa'][5, 6, 'b', 'ff'] '''总结:复合变量,copy各个变量相互影响,deepcopy形成独立个体'''