5-5 浅拷贝和深拷贝

Posted hushaoyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]

 

以上是关于5-5 浅拷贝和深拷贝的主要内容,如果未能解决你的问题,请参考以下文章

Python 赋值浅拷贝和深拷贝

NumPy之浅拷贝和深拷贝

C#的浅拷贝和深拷贝

js 对象的浅拷贝和深拷贝

python中的浅拷贝和深拷贝

JS-[浅拷贝和深拷贝]