如何通过Python一文掌握Numpy库中的深拷贝与浅拷贝区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1078个文字,预计阅读时间需要5分钟。
1. 引言:深拷贝与浅拷贝是Python中的重要概念,本节重点介绍在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理。
2.浅拷贝:
2.1 问题引入:我们来举一个例子...1. 引言
深拷贝和浅拷贝是Python中重要的概念,本文重点介绍在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理。
闲话少说,我们直接开始吧!
2. 浅拷贝
2.1 问题引入
我们来举个栗子,如下所示我们有两个数组a和b,样例代码如下:
import numpy as npa = np.array([1, 2, 3])
b = a
print('a =', a)
print('b =', b)
输出如下:
a = [1 2 3]b = [1 2 3]
此时如果我们对数组a做如下改变,代码如下:
import numpy as npa = np.array([1, 2, 3])
b = a
a [0] = 42
print('a =', a)
print('b =', b)
那么我们的问题为: 此时b的值应该为多少?
运行上述代码后,我们得到输出如下:
b = [42 2 3]
2.2 问题剖析
也许有人会觉得输出应该为a=[42 2 3] 和 b=[1 2 3] ,但是运行上述代码后我们发现a和b的值均发生了相应的改变。这主要是由于在Numpy中对变量的赋值操作,实际上发生的为浅拷贝。
本文共计1078个文字,预计阅读时间需要5分钟。
1. 引言:深拷贝与浅拷贝是Python中的重要概念,本节重点介绍在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理。
2.浅拷贝:
2.1 问题引入:我们来举一个例子...1. 引言
深拷贝和浅拷贝是Python中重要的概念,本文重点介绍在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理。
闲话少说,我们直接开始吧!
2. 浅拷贝
2.1 问题引入
我们来举个栗子,如下所示我们有两个数组a和b,样例代码如下:
import numpy as npa = np.array([1, 2, 3])
b = a
print('a =', a)
print('b =', b)
输出如下:
a = [1 2 3]b = [1 2 3]
此时如果我们对数组a做如下改变,代码如下:
import numpy as npa = np.array([1, 2, 3])
b = a
a [0] = 42
print('a =', a)
print('b =', b)
那么我们的问题为: 此时b的值应该为多少?
运行上述代码后,我们得到输出如下:
b = [42 2 3]
2.2 问题剖析
也许有人会觉得输出应该为a=[42 2 3] 和 b=[1 2 3] ,但是运行上述代码后我们发现a和b的值均发生了相应的改变。这主要是由于在Numpy中对变量的赋值操作,实际上发生的为浅拷贝。

