Python | Ways to find all permutation of a string

Method # 1: Using the naive method

# Python code for demo
# find all permutations
# given string

 
# Initializing string

ini_str = "abc"

 
# Print start line

print ( "Initial string" , ini_str)

 
# Find all permutations

result = []

 

def permute (data, i, length): 

if i = = length: 

result.append (`` .join (data))

else

for j in range (i, length): 

# exchange

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))

 
# Print result

print ( "Resultant permutations" , str (result))

Exit :

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

Method # 2: Using itertools

# Python code for demo
# find all permutations
# given string

 

from itertools import permutations

 
# Initializing string

ini_str = "abc"

 
# Print start line

print ( " Initial string " , ini_str)

 
# Find all permutations

permutation = [`` .join (p) for p in permutations (ini_str)]

# Print result

print ( "Resultant List" , str (permutation))

Output:

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