5-5 浅拷贝和深拷贝

1、浅拷贝

1 import copy  # 导入copy模块
2     # 0 1 2 3
3 num1 = [1,1,2,3,4,5,6,7,7,8]  # 定义一个列表
4 # num2 = num1  # 浅拷贝  把num1 赋值给num2
5 num2 = copy.deepcopy(num1)  # 浅拷贝
6 print(num2)  #[1, 1, 2, 3, 4, 5, 6, 7, 7, 8]

2、深拷贝

1 # #深拷贝
2 print(id(num1))  # 打印num1 的内存地址 2008904087048
3 print(id(num2))  # 打印num2 的内存地址2008904087176
4 #      # 0 1 2
5 for i in num2:  # 循环num2
6     if i%2!=0:  # 当元素为偶数的时候
7         num1.remove(i)  # 删除num1中的基数
8 print(num1)  # 输出num1的值  [2, 4, 6, 8]

 

posted @ 2018-12-04 23:48  yatou001  阅读(85)  评论(0编辑  收藏  举报