Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | Ways to find all permutation of a string

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 23 Jul, 2021
Improve Article
Save Article

Given a string, write a Python program to find out all possible permutations of a string. Let’s discuss a few methods to solve the problem.
Method #1: Using Naive Method 
 

Python3




# Python code to demonstrate
# to find all permutation of
# a given string
 
# Initialising string
ini_str = "abc"
 
# Printing initial string
print("Initial string", ini_str)
 
# Finding all permutation
result = []
 
def permute(data, i, length):
    if i == length:
        result.append(''.join(data) )
    else:
        for j in range(i, length):
            # swap
            data[i], data[j] = data[j], data[i]
            permute(data, i + 1, length)
            data[i], data[j] = data[j], data[i] 
permute(list(ini_str), 0, len(ini_str))
 
# Printing result
print("Resultant permutations", str(result))

Output: 

Initial string abc
Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']

 

  
Method #2: Using itertools 
 

Python3




# Python code to demonstrate
# to find all permutation of
# a given string
 
from itertools import permutations
 
# Initialising string
ini_str = "abc"
 
# Printing initial string
print("Initial string", ini_str)
 
# Finding all permutation
permutation = [''.join(p) for p in permutations(ini_str)]
# Printing result
print("Resultant List", str(permutation))

Output: 

Initial string abc
Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']

 


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!