Python | Ways to find all permutation of a string
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']
Please Login to comment...