list__copy函数解释说明

列表LIST__Copy分为潜Copy和深Copy

1. 潜Copy

只拷贝第一层(嵌套)

例子:

1 li = [11,[34,15,67],88]
2 li2 = li.copy()
3 li[1].append(54)
4 print(li,li2)
5 print结果如下:
6 li =  [11, [34, 15, 67], 88, 54] 7 li2 = [11, [34, 15, 67], 88, 54]

说明:由于copy函数只拷贝了第一层,第二层本身修改后,li和li2都调用的是同一个li【1】,所以结果相同。

2. 深Copy

所有层全部拷贝(嵌套)

import copy
li = [11,[34,15,67],88]
li2 = copy.deepcopy(li)
li[1].append(54)
print(li,li2)

print结果如下:
li = [11, [34, 15, 67, 54], 88] li2 = [11, [34, 15, 67], 88] 

说明:由于深copy函数是全部拷贝,由于第二次也被拷贝了,所以li的第二层修改不会影响li2的第二层,结果就是append方法只会影响li结果,li2结果不变。

猜你喜欢

转载自www.cnblogs.com/chunfenggangwan/p/12768156.html