# Python | Permutation of a given string using inbuilt function

• Difficulty Level : Easy
• Last Updated : 11 Jul, 2022

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. Examples:

```Input :  str = 'ABC'
Output : ABC
ACB
BAC
BCA
CAB
CBA```

We have existing solution for this problem please refer Permutations of a given string using STL link. We can also solve this problem in python using inbuilt function permutations(iterable)

## Python3

 `# Function to find permutations of a given string``from` `itertools ``import` `permutations` `def` `allPermutations(``str``):``     ` `     ``# Get all permutations of string 'ABC'``     ``permList ``=` `permutations(``str``)` `     ``# print all permutations``     ``for` `perm ``in` `list``(permList):``         ``print` `(''.join(perm))``      ` `# Driver program``if` `__name__ ``=``=` `"__main__":``    ``str` `=` `'ABC'``    ``allPermutations(``str``)`

Output:

```ABC
ACB
BAC
BCA
CAB
CBA```

Permutation and Combination in Python Permutations of a given string with repeating characters The idea is to use dictionary to avoid printing duplicates.

## Python3

 `from` `itertools ``import` `permutations``import` `string` `s ``=` `"GEEK"``a ``=` `string.ascii_letters``p ``=` `permutations(s)` `# Create a dictionary``d ``=` `[]``for` `i ``in` `list``(p):` `    ``# Print only if not in dictionary``    ``if` `(i ``not` `in` `d):``        ``d.append(i)``        ``print``(''.join(i))`

Output:

```GEEK
GEKE
GKEE
EGEK
EGKE
EEGK
EEKG
EKGE
EKEG
KGEE
KEGE
KEEG```

Time Complexity: O(n!) where n is the size of the string.
Auxiliary Space: O(n!)

My Personal Notes arrow_drop_up