我需要用随机整数填充一个包含三个元素的 numpy 数组,使数组的总和为三(例如 [0,1,2]
)。
据我估计,有 10 种可能的数组:
111, 012, 021, 102、 120, 201, 210, 300, 030, 003
我的想法是使用 randint
随机生成一个 1 到 10 之间的整数,然后使用查找表从上面的组合列表中填充数组。
有人知道更好的方法吗?
最佳答案
这是我的做法:
>>> import numpy as np
>>> a=np.array([[1,1,1],[0,1,2],[0,2,1],[1,0,2],[1,2,0],[2,0,1],[2,1,0],[3,0,0],[0,3,0],[0,0,3]])
>>> a[np.random.randint(0,10)]
array([1, 2, 0])
>>> a[np.random.randint(0,10)]
array([0, 1, 2])
>>> a[np.random.randint(0,10)]
array([1, 0, 2])
>>> a[np.random.randint(0,10)]
array([3, 0, 0])
关于python - 生成一个随机的 3 元素 Numpy 整数数组,总和为 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20212830/