Python erbjuder direkta metoder för att hitta permutationer och kombinationer av en sekvens. Dessa metoder finns i itertools-paketet.
Importera först itertools-paketet för att implementera permutationsmetoden i python. Den här metoden tar en lista som indata och returnerar en objektlista med tupler som innehåller alla permutationer i listform.
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)
Det genererar n! permutationer om längden på inmatningssekvensen är n.
Om du vill få permutationer med längden L så implementera det på detta sätt.
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)
Den genererar nCr * r! permutationer om ingångssekvensens längd är n och ingångsparametern är r.
Denna metod tar en lista och en inmatning r som ingång och returnerar en objektslista med tupler som innehåller alla möjliga kombinationer av längden r i en listform.
from itertools import combinations    comb = combinations(, 2)    for i in list(comb):   print (i)  Output:
(1, 2)(1, 3)(2, 3)
- Kombinationer avges i den lexikografiska sorteringsordningen för indata. Så om inmatningslistan är sorterad kommer kombinationstuplerna att produceras i sorterad ordning.
fromitertoolsimportcombinationscomb=combinations(,2)foriinlist(comb):print(i)Output:
(2, 1)(2, 3)(1, 3)
 - Element behandlas som unika baserat på deras position, inte på deras värde. Så om inmatningselementen är unika kommer det inte att finnas några upprepade värden i varje kombination.
fromitertoolsimportcombinationscomb=combinations(,2)foriinlist(comb):print(i)Output:
(1, 1)(1, 3)(1, 3)
 - Om vi vill kombinera samma element med samma element använder vi combinations_with_replacement.
fromitertoolsimportcombinations_with_replacementcomb=combinations_with_replacement(,2)foriinlist(comb):print(i)Output:
(1, 1)(1, 2)(1, 3)(2, 2)(2, 3)(3, 3)
 
Denna artikel har bidragits av Raju Varshney. Skriv gärna kommentarer om du hittar något felaktigt, eller om du vill dela mer information om ämnet som diskuteras ovan
 Artikel Taggar : 
 Practice Tags :