# Python | Ways to find all permutation of a string

• Difficulty Level : Easy
• Last Updated : 23 Jul, 2021

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