Permutation and Combination in Python?

In this section, we are going to learn how to find permutation and combination of a given sequence using python programming language.
One of the key advantage of python over other programming language is that it comes with huge set of libraries with it.
We are going to use python inbuilt package to find permutation and combinations of a given sequence.
Algorithm to find the Permutation and combination
Step 1 : Import required package.
First step is to import the required package, as we are going to use itertools package, so we just import it using.
Step 1 : Import required package.
First step is to import the required package, as we are going to use itertools package, so we just import it using.
>>> import itertools
>>>
Step 2: Get all permutation & combination of a sequence.
Second step is to enter a list of sequences/items as an input that will return all permutation and combinations in the form of list of tuples.
Step 2: Get all permutation & combination of a sequence.
Second step is to enter a list of sequences/items as an input that will return all permutation and combinations in the form of list of tuples.
We can also set the length of permutation and combination.
We can also set the length of permutation and combination.
Step 3: Printing the result
Last step is to print the all the permutation and combination of set of sequences. We can use the loop function to print the result.
Step 3: Printing the result
Last step is to print the all the permutation and combination of set of sequences. We can use the loop function to print the result.
Let’s find the permutation of a list of three items.
from itertools import permutations

seq = permutations(['a','b','c'])

for p in list(seq):
   print(p)
('a', 'b', 'c')
('a', 'c', 'b')
('b', 'a', 'c')
('b', 'c', 'a')
('c', 'a', 'b')
('c', 'b', 'a')
Find the permutation by defining the length of the permutation.
from itertools import permutations

seq = permutations(['p', 'y', 't', 'h', 'o', 'n'], 2)

for p in list(seq):
   print(p)
('p', 'y')
('p', 't')
('p', 'h')
('p', 'o')
('p', 'n')
('y', 'p')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 'p')
('t', 'y')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'p')
('h', 'y')
('h', 't')
('h', 'o')
('h', 'n')
('o', 'p')
('o', 'y')
('o', 't')
('o', 'h')
('o', 'n')
('n', 'p')
('n', 'y')
('n', 't')
('n', 'h')
('n', 'o')
Let’s find the combination of a sequence using python.
Example 1: Determine the length of the combination
#Import itertools package
from itertools import combinations

#Getting all combination of a particular length.
combi = combinations(['p', 'y', 't', 'h', 'o', 'n'], 5)

#Print the list of combinations

for c in list(combi):
   print(c)
('p', 'y', 't', 'h', 'o')
('p', 'y', 't', 'h', 'n')
('p', 'y', 't', 'o', 'n')
('p', 'y', 'h', 'o', 'n')
('p', 't', 'h', 'o', 'n')
('y', 't', 'h', 'o', 'n')
#Import itertools package
from itertools import combinations_with_replacement

#Getting all combination by defining a particular length.
combi = combinations_with_replacement(['p', 'y', 't', 'h', 'o', 'n'], 2)

#Print the list of combinations

for c in list(combi):
   print(c)
('p', 'p')
('p', 'y')
('p', 't')
('p', 'h')
('p', 'o')
('p', 'n')
('y', 'y')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 't')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'h')
('h', 'o')
('h', 'n')
('o', 'o')
('o', 'n')
('n', 'n')