Comment obtenir toutes les partitions d'un ensemble ?
Par exemple, j'ai un tableau [1, 2, 3]
. Je dois obtenir [[1], [2], [3]], [[1], [2, 3]], [[2], [1,3]], [[3], [1, 2]], [[1, 2, 3]]
.
Maintenant, j'ai écrit ce code :
def neclusters(S, K):
for splits in itertools.combinations(range(len(S)), K):
yield np.split(S, 1 + np.array(splits))
Mais ce code ne renvoie pas [[2],[1,3]]
.
Je pourrais prendre toutes les permutations de l'ensemble original et exécuter ce code sur elles. Mais cela peut-il être plus facile ?