Eine Ganzzahl geben k
Wie würde ich eine Permutationsmatrix mit allen möglichen Permutationen der Sequenz 1
bis k
erstellen? Betrachten wir zum Beispiel k=2
. Dann würde Ich mag die Matrix erstellen:Permutationsmatrix erstellen - numpy
1 2
2 1
und für k=3
:
1 1 2 2 3 3
2 3 1 3 1 2
3 2 3 1 2 1
Ich habe versucht, mit numpy.random.permutation
aber das erzeugt nur eine einzige Permutation. Also, ich könnte diese Funktion weiter verwenden und einzigartige Permutationen anhängen, bis die Anzahl der Spalten gleich k!
ist, aber das scheint unglaublich ineffizient zu sein.
was 'itertools.permutations' in eine numpy Array füttern? –
@YakymPirozhenko ist es möglich, dies zu tun, ohne 'itertools' zu importieren? – Apollo
Nun, es sei denn, Sie möchten Ihre eigene Funktion schreiben, um eine Liste von Permutationen zu erstellen. Da 'iertools' ein eingebautes Modul ist, kann ich nicht viel Nachteil beim Importieren sehen, es sei denn, Sie haben einige explizite Einschränkungen. –