python list复制

1.使用 a = b , a的值修改后,b的值也跟着变动,实际a和b指向同一个内存地址

2.使用a.copy() ,a的值修改后,b的值不会跟着变动,实际a和b指向不同的内存地址

 1 a = [1,2,3,4]
 2 
 3 b = a
 4 c = a.copy()
 5 print('a:',a,id(a))
 6 print('b:',b,id(b))
 7 print('c:',c,id(c))
 8 
 9 a.pop(2)
10 
11 print('a:',a,id(a))
12 print('b:',b,id(b))
13 print('c:',c,id(c))

结果:

------更新

3.如果a是多层列表,a.copy() 第一层是深拷贝,及指向不同的内存地址

第二层是浅拷贝,指向同一个地址

4.多层列表的复制可使用

1 1.使用copy
2 import copy
3 b = copy.deepcopy(a)
4  
5 2.重新生成
6 b=[[*i] for i in a]
原文地址:https://www.cnblogs.com/whycai/p/14310632.html