我一直在尝试做某事,但是不能缠住我的头:
我想在n
插槽中生成m
元素的所有可能排列。
更确切地说,我有一个8x8的二维数组,但为了更简单起见,假设它是一个64插槽列表(稍后我将其转换回二维数组),全部填充为[C0 ]。我想在此列表中放置4 0
,并生成所有可能的排列,没有重复。
例如,如果我要将2个元素放置在4个插槽的列表中,则将给出这6个列表:
1
我已经尝试过使用itertools,但是那里的功能似乎都做不到,或者我对它们的了解还不足以找到正确的方式来使用它们。
0 0 1 1
0 1 0 1
1 0 0 1
0 1 1 0
1 0 1 0
1 1 0 0
输出
# permutations using itertools
from itertools import permutations
# Get all permutations
perm = permutations([1, 1, 0, 0])
print(list(set(perm)))