Python中 copy, deepcopy和np.random.shuffle(x)

copy, deepcopy

https://iaman.actor/blog/2016/04/17/copy-in-python
copy仅拷贝对象本身,而不对中的子对象进行拷贝,故对子对象进行修改也会随着修改。
deepcopy是真正意义上的复制,即从新开辟一片空间。我们经常说的复制实际上就是deepcopy.
具体看上面博客,写的很好!

np.random.shuffle(x)

https://blog.csdn.net/brucewong0516/article/details/79012233
np.random.shuffle(x)现场修改序列,改变自身内容。(类似洗牌,打乱顺序)

#现场修改序列,改变自身内容。(类似洗牌,打乱顺序)
In [30]: arr = np.arange(10)
In [31]: np.random.shuffle(arr)
In [32]: arr
Out[32]: array([5, 2, 7, 0, 6, 3, 4, 1, 8, 9])
#对多维数组进行打乱排列时,默认是对第一个维度也就是列维度进行随机打乱
In [37]: arr = np.arange(12).reshape(3,4)
In [38]: arr
Out[38]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
#将多维数组打乱
In [39]: np.random.shuffle(arr)
In [40]: arr
Out[40]:
array([[ 4,  5,  6,  7],
       [ 0,  1,  2,  3],
       [ 8,  9, 10, 11]])

你可能感兴趣的:(Python中 copy, deepcopy和np.random.shuffle(x))