我希望能够在 python 中生成二维数组的所有唯一排列。

例如拿这个二维数组
[[1,1],[0,0]]
我想回来

[[0,0],
[1,1]]

[[0,1],
[0,1]]

[[0,1]
[1,0]]

[[1,0]
[0,1]]

[[1,0]
[1,0]]

[[1,1]
[0,0]]

最佳答案

你可以这样做

d = [[1, 1], [0, 0]]
from itertools import permutations, chain
from pprint import pprint
pprint(sorted([i[:2], i[2:]] for i in set(permutations(chain.from_iterable(d)))))

输出
[[[0, 0], [1, 1]],
 [[0, 1], [0, 1]],
 [[0, 1], [1, 0]],
 [[1, 0], [0, 1]],
 [[1, 0], [1, 0]],
 [[1, 1], [0, 0]]]

关于python - 生成二维数组的所有唯一排列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21959530/

10-11 05:18