Générer des permutations avec des valeurs uniques
La fonction de permutations d'Itertools traite les éléments comme uniques en fonction de la position plutôt que de la valeur, ce qui entraîne des doublons. Pour relever ce défi, un algorithme est recherché pour éviter de tels doublons.
Une approche consiste à utiliser l'itérateur multiset_permutations de sympy. Cet itérateur génère des permutations tout en considérant les valeurs des éléments plutôt que les positions :
>>> 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]]
Cela résout efficacement le problème des permutations en double, offrant une solution concise et efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!