Python fournit des méthodes directes pour trouver les permutations et les combinaisons d’une séquence. Ces méthodes sont présentes dans le paquet itertools.
Premièrement, importez le paquet itertools pour implémenter la méthode permutations en python. Cette méthode prend une liste en entrée et renvoie une liste objet de tuples qui contiennent toutes les permutations sous forme de liste.
from
itertools
import
permutations
perm
=
permutations()
for
i
in
list
(perm):
print
(i)
Sortie :
(1, 2, 3)(1, 3, 2)(2, 1, 3)(2, 3, 1)(3, 1, 2)(3, 2, 1)
Il génère n ! permutations si la longueur de la séquence d’entrée est n.
Si vous voulez obtenir des permutations de longueur L, alors implémentez-le de cette manière.
from
itertools
import
permutations
perm
=
permutations(,
2
)
for
i
in
list
(perm):
print
(i)
Sortie :
(1, 2)(1, 3)(2, 1)(2, 3)(3, 1)(3, 2)
Elle génère nCr * r ! permutations si la longueur de la séquence d’entrée est n et le paramètre d’entrée est r.
Cette méthode prend une liste et une entrée r en entrée et renvoie une liste objet de tuples qui contiennent toutes les combinaisons possibles de longueur r sous forme de liste.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(comb):
print
(i)
Sortie :
(1, 2)(1, 3)(2, 3)
- Les combinaisons sont émises dans l’ordre de tri lexicographique de l’entrée. Ainsi, si la liste d’entrée est triée, les tuples de combinaison seront produits dans l’ordre trié.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(comb):
print
(i)
Sortie :
(2, 1)(2, 3)(1, 3)
- Les éléments sont traités comme uniques en fonction de leur position, et non de leur valeur. Ainsi, si les éléments d’entrée sont uniques, il n’y aura pas de valeurs répétées dans chaque combinaison.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(comb):
print
(i)
Sortie :
(1, 1)(1, 3)(1, 3)
- Si l’on veut faire une combinaison du même élément au même élément alors on utilise les combinaisons_avec_remplacement.
from
itertools
import
combinations_with_replacement
comb
=
combinations_with_replacement(,
2
)
for
i
in
list
(comb):
print
(i)
Sortie :
(1, 1)(1, 2)(1, 3)(2, 2)(2, 3)(3, 3)
Cet article est une contribution de Raju Varshney. S’il vous plaît écrire des commentaires si vous trouvez quelque chose d’incorrect, ou vous voulez partager plus d’informations sur le sujet discuté ci-dessus
Tags de l’article :
Tags de pratique :