Related Articles
Python Program to print all permutations of a given string
• Difficulty Level : Medium
• Last Updated : 17 May, 2020

A permutation, also called an “arrangement number” or “order, ” is a rearrangement of the elements of an ordered list S into a one-to-one correspondence with S itself. A string of length n has n! permutation.
Source: Mathword(http://mathworld.wolfram.com/Permutation.html)

Below are the permutations of string ABC.
ABC ACB BAC BCA CBA CAB

## Python

 `# Python program to print all permutations with``# duplicates allowed`` ` `def` `toString(``List``):``    ``return` `''.join(``List``)`` ` `# Function to print permutations of string``# This function takes three parameters:``# 1. String``# 2. Starting index of the string``# 3. Ending index of the string.``def` `permute(a, l, r):``    ``if` `l ``=``=` `r:``        ``print` `toString(a)``    ``else``:``        ``for` `i ``in` `xrange``(l, r ``+` `1``):``            ``a[l], a[i] ``=` `a[i], a[l]``            ``permute(a, l ``+` `1``, r)``            ``a[l], a[i] ``=` `a[i], a[l] ``# backtrack`` ` `# Driver program to test the above function``string ``=` `"ABC"``n ``=` `len``(string)``a ``=` `list``(string)``permute(a, ``0``, n``-``1``)`` ` `# This code is contributed by Bhavya Jain`
Output:
```ABC
ACB
BAC
BCA
CBA
CAB
```

## By Using inbuilt Function

For finding the permutation of the given string we use the inbuilt function. You can use the itertools module which has a useful method called permutations(iterable[, r]). This method will return successive r length permutations of elements in the iterable as tuples. you’ll need to iterate over the function call and join the tuples.

 `# Python program to print all permutations`` ` `from` `itertools ``import` `permutations``print` `['``'.join(p) for p in permutations('``ABC')]``# This code is contributed by Vidit Varshney`
Output:
```['ABC', 'ACB', 'BAC', 'BCA', 'CAB', 'CBA']
```

Please refer complete article on Write a program to print all permutations of a given string for more details!

My Personal Notes arrow_drop_up