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.
fromitertoolsimportcombinationscomb=combinations(,2)foriinlist(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.
fromitertoolsimportcombinationscomb=combinations(,2)foriinlist(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.
fromitertoolsimportcombinations_with_replacementcomb=combinations_with_replacement(,2)foriinlist(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.