Python biedt directe methodes om permutaties en combinaties van een sequentie te vinden. Deze methoden zijn aanwezig in het pakket itertools.
Eerst importeer je het pakket itertools om de permutatiemethode in python te implementeren. Deze methode neemt een lijst als invoer en retourneert een objectlijst van tupels die alle permutaties in een lijstvorm bevatten.
from
itertools
import
permutations
perm
=
permutations()
for
i
in
list
(perm):
print
(i)
Output:
(1, 2, 3)(1, 3, 2)(2, 1, 3)(2, 3, 1)(3, 1, 2)(3, 2, 1)
Het genereert n! permutaties als de lengte van de invoerreeks n is.
Als je permutaties van lengte L wilt krijgen, implementeer je het op deze manier.
from
itertools
import
permutations
perm
=
permutations(,
2
)
for
i
in
list
(perm):
print
(i)
>
Output:
(1, 2)(1, 3)(2, 1)(2, 3)(3, 1)(3, 2)
Het genereert nCr * r! permutaties als lengte van invoerreeks n is en invoerparameter r is.
Deze methode neemt een lijst en een invoer r als invoer en geeft een objectlijst van tupels terug die alle mogelijke combinaties van lengte r in een lijstvorm bevatten.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(comb):
print
(i)
>
Output:
(1, 2)(1, 3)(2, 3)
- Combinaties worden uitgezonden in lexicografische sorteervolgorde van de invoer. Dus als de invoerlijst gesorteerd is, worden de combinatietupels in gesorteerde volgorde geproduceerd.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(comb):
print
(i)
>
Output:
(2, 1)(2, 3)(1, 3)
- Elementen worden als uniek behandeld op basis van hun positie, niet op basis van hun waarde. Dus als de invoerelementen uniek zijn, zullen de waarden in elke combinatie niet worden herhaald.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(comb):
print
(i)
>
Output:
(1, 1)(1, 3)(1, 3)
- Als we een combinatie willen maken van hetzelfde element naar hetzelfde element dan gebruiken we combinaties_met_vervanging.
from
itertools
import
combinations_with_replacement
comb
=
combinations_with_replacement(,
2
)
for
i
in
list
(comb):
print
(i)
>
Output:
(1, 1)(1, 2)(1, 3)(2, 2)(2, 3)(3, 3)
Dit artikel is geschreven door Raju Varshney. Schrijf commentaar als u iets onjuist vindt, of u wilt meer informatie over het onderwerp hierboven besproken
Artikel Tags :Praktijk Tags : - Als we een combinatie willen maken van hetzelfde element naar hetzelfde element dan gebruiken we combinaties_met_vervanging.