This question already has answers here:
numpy.random.shuffle returns None
(3个答案)
7个月前关闭。
在我自己的函数中使用numpy.random.shuffle时,它意外更改了我的全局变量。我不确定它的用法是否有误解。
numpy版本是“ 1.16.4”
这是结果
洗牌前输入:
洗后输入:
(3个答案)
7个月前关闭。
在我自己的函数中使用numpy.random.shuffle时,它意外更改了我的全局变量。我不确定它的用法是否有误解。
numpy版本是“ 1.16.4”
import numpy as np
def shuffle_test(a):
np.random.shuffle(a)
b=a
return b
outer_input = np.array(range(10))
print(outer_input)
outer_output = shuffle(outer_input)
print(outer_input)
这是结果
洗牌前输入:
[0 1 2 3 4 5 6 7 8 9]
洗后输入:
[5 4 7 1 8 2 6 0 9 3]
最佳答案
这不是偶然的;这是np.random.shuffle的描述行为
通过改组其内容就地修改序列
您可以这样做:
import numpy as np
outer_input = np.array(range(10))
np.random.shuffle(outer_input)
outer_input
# array([1, 9, 7, 4, 3, 6, 0, 5, 2, 8]) # for instance
关于python - numpy.random.shuffle令人惊讶的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57372162/
10-15 17:47