我有一个n x n x 2
矩阵,我希望找到所有可能的排列,而不改变第三维中元素的顺序。
例如,如果我的矩阵是2 x 2 x 2
并且具有以下值:
[[[1,2], [3,4]],
[5,6], [7,8]]
然后可能的排列是:
[[[1,2], [3,4]],
[7,8], [5,6]]
[[[3,4], [1,2]],
[5,6], [7,8]]
[[[1,2], [7,8]],
[5,6], [3,4]]
等。
换句话说,我想在找到排列时将元组视为单个值。
答案 0 :(得分:1)
如下:
import numpy as np
import itertools
arr = np.array([[[1,2], [3,4]],
[[5,6], [7,8]]])
for p in itertools.permutations(arr.reshape(-1, 2)):
print(np.array(p).reshape(arr.shape))