Permutationen mit eindeutigen Werten generieren
Die Permutationsfunktion von Itertools behandelt Elemente basierend auf der Position und nicht auf dem Wert als eindeutig, was zu Duplikaten führt. Um dieser Herausforderung zu begegnen, wird nach einem Algorithmus gesucht, der solche Duplikate vermeidet.
Ein Ansatz besteht darin, den Multiset_permutations-Iterator von Sympy zu verwenden. Dieser Iterator generiert Permutationen unter Berücksichtigung von Elementwerten und nicht von Positionen:
>>> import sympy >>> from sympy.utilities.iterables import multiset_permutations >>> list(multiset_permutations([1,1,1])) [[1, 1, 1]] >>> list(multiset_permutations([1,1,2])) [[1, 1, 2], [1, 2, 1], [2, 1, 1]]
Dadurch wird das Problem doppelter Permutationen effektiv gelöst und eine präzise und effiziente Lösung bereitgestellt.
Das obige ist der detaillierte Inhalt vonWie kann ich Permutationen mit eindeutigen Werten generieren und Duplikate vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!