我需要用随机整数填充三个元素的numpy数组,使得数组的总和为3(例如[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])