numpy的深拷贝、浅拷贝

深拷贝

  • 深拷贝是指源对象与拷贝对象互相独立
  • 任何一个对象的改动都不会对另外一个对象造成影响
  • 新的变量产生了新的内存地址

方法:numpy.copy()

import numpy as np
x = np.arange(10)
print(x)
print(id(x))
y = np.copy(x)
print(id(y))
x[0] = 1
print(x)
print(y)
[0 1 2 3 4 5 6 7 8 9]
2715666038992
2715666039232
[1 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8 9]

浅拷贝

  • 浅拷贝是一种简单的拷贝,让几个对象公用一个内存

  • 对其中一个变量的值改变,另外一个变量的值也会改变

    方法:直接赋值

import numpy as np
x = np.arange(10)
print(x)
print(id(x))
y = x
print(id(y))
x[0] = 1
print(x)
print(y)
[0 1 2 3 4 5 6 7 8 9]
2715666116160
2715666116160
[1 1 2 3 4 5 6 7 8 9]
[1 1 2 3 4 5 6 7 8 9]

你可能感兴趣的:(python)