我在使用 numpy.random.shuffle
函数时遇到了一些奇怪的事情
from numpy import arange
from numpy.random import shuffle
a = arange(5)
b = a
c = a[:]
shuffle(c)
a
和b
都随c
变化。其实不管我shuffle()
是哪个变量,其他两个都跟着变。我想当我使用 slice copy 时,原始变量应该是独立的。我错过了什么?如何保护原始变量不被更改?
最佳答案
根据Basic slicing documentation :
All arrays generated by basic slicing are always views of the original array.
使用ndarray.copy或 numpy.copy获取副本。
关于python - NumPy random.shuffle 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17637327/