Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 约束置换的numpy数组生成_Python_Arrays_Numpy - Fatal编程技术网

Python 约束置换的numpy数组生成

Python 约束置换的numpy数组生成,python,arrays,numpy,Python,Arrays,Numpy,长话短说,我试图生成一组numpy数组的所有可能排列。我有三个数字[j,k,m],我想为每个数字[j,k,m]指定一个最大值。那么,如何获得这些值下的所有数组组合?我怎样才能强制k值也始终为偶数?例如: 因此,当最大值设置为[1,2,2]时,排列将是:[0,0,0],[0,0,1],[0,0,2],[0,2,0],[0,2,1],[0,2,2],[1,0,0],[1,0,1] 我意识到我没有任何代码来展示,但我恐怕我真的不知道从哪里开始 从其他答案来看,sympy似乎有些用处?我找到了你们可能感

长话短说,我试图生成一组numpy数组的所有可能排列。我有三个数字[j,k,m],我想为每个数字[j,k,m]指定一个最大值。那么,如何获得这些值下的所有数组组合?我怎样才能强制k值也始终为偶数?例如:

因此,当最大值设置为[1,2,2]时,排列将是:[0,0,0],[0,0,1],[0,0,2],[0,2,0],[0,2,1],[0,2,2],[1,0,0],[1,0,1]

我意识到我没有任何代码来展示,但我恐怕我真的不知道从哪里开始


从其他答案来看,sympy似乎有些用处?

我找到了你们可能感兴趣的答案,并对其进行了概括。因此,您可以为每个项目构建可能的值列表,如下所示:

X = [[0, 1], [0, 1, 2], [0, 1, 2]]
然后使用:

np.array(np.meshgrid(*X)).T.reshape(-1, len(X))

输出包含您想要的18项。实际上,如果您只有最大值
[J,K,L]
,您可以使用
X=[range(J+1)、range(K+1)、range(L+1)]
构造
X
,谢谢!这正是使这个网站如此伟大的专业知识!我想我的问题有点不清楚,我需要每个数组的中间值为偶数,但在不同的站点上使用不同的解决方案,我得到了我需要的:
def permute(j,k,m):a=np.stack([[I,2*l,n]对于范围内的I(j+1),对于范围内的l(k+1),对于范围内的n(m+1)])返回a