python - 生成一个随机的 3 元素 Numpy 整数数组,总和为 3

标签 python arrays random numpy combinations

我需要用随机整数填充一个包含三个元素的 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/

相关文章:

c# - 如何直接在 .NET 代码中快速创建虚拟图像

python - 如何在 Python 3 中创建在封闭域上定义的函数?

python - 比较两个 gzip 文件的每四行

python - 在 python 中,是否有某种映射来返回类型的 "False value"?

java - 将 ArrayList 内容转换为带逗号的字符串

javascript - 我如何将对象键名称指定为与其值相同的名称?

arrays - Julia:从数组或矩阵中删除行和列

python - 在非二叉树中查找从根到叶的每条路径的优化方法

matlab - 如何使用 MATLAB 在球体内生成随机点

go - golang中的随机数问题