群晖做自己的电影网站,网站商品展示设计,做旅游网站包括哪些栏目,珠海品牌网站制作直接赋值#xff1a;如果用 直接赋值#xff0c;是非拷贝方法。这两个列表是等价的#xff0c;修改其中任何一个列表都会影响到另一个列表。old [1,[1,2,3],3]new []for i in range(len(old)):new.append(old[i])new[0] 3new[1][0] 3-----------------------Before:[1,…直接赋值如果用 直接赋值是非拷贝方法。这两个列表是等价的修改其中任何一个列表都会影响到另一个列表。old [1,[1,2,3],3]new []for i in range(len(old)):new.append(old[i])new[0] 3new[1][0] 3-----------------------Before:[1, [1, 2, 3], 3][1, [1, 2, 3], 3]After:[3, [3, 2, 3], 3][3, [3, 2, 3], 3]-----------------------浅拷贝1.copy()方法对于List来说其第一层是实现了深拷贝但对于其内嵌套的List仍然是浅拷贝。因为嵌套的List保存的是地址复制过去的时候是把地址复制过去了嵌套的List在内存中指向的还是同一个。old [1,[1,2,3],3]new old.copy()new[0] 3new[1][0] 3---------------------Before:[1, [1, 2, 3], 3][1, [1, 2, 3], 3]After:[1, [3, 2, 3], 3][3, [3, 2, 3], 3]---------------------2.使用列表生成式使用列表生成式产生新列表也是一个浅拷贝方法只对第一层实现深拷贝。old [1,[1,2,3],3]new [i for i in old]new[0] 3new[1][0] 3----------------------Before[1, [1, 2, 3], 3][1, [1, 2, 3], 3]After[1, [3, 2, 3], 3][3, [3, 2, 3], 3]----------------------3.for循环遍历通过for循环遍历将元素一个个添加到新列表中。这也是一个浅拷贝方法只对第一层实现深拷贝。old [1,[1,2,3],3]new []for i in range(len(old)):new.append(old[i])new[0] 3new[1][0] 3-----------------------Before:[1, [1, 2, 3], 3][1, [1, 2, 3], 3]After:[1, [3, 2, 3], 3][3, [3, 2, 3], 3]-----------------------4.使用切片通过使用 [ : ] 切片可以浅拷贝整个列表同样的只对第一层实现深拷贝。old [1,[1,2,3],3]new old[:]new[0] 3new[1][0] 3------------------Before:[1, [1, 2, 3], 3][1, [1, 2, 3], 3]After:[1, [3, 2, 3], 3][3, [3, 2, 3], 3]------------------深拷贝如果用deepcopy()方法则无论多少层无论怎样的形式得到的新列表都是和原来无关的这是最安全最清爽最有效的方法。需要import copyimport copyold [1,[1,2,3],3]new copy.deepcopy(old)new[0] 3new[1][0] 3-----------------------Before:[1, [1, 2, 3], 3][1, [1, 2, 3], 3]After:[1, [1, 2, 3], 3][3, [3, 2, 3], 3]-----------------------