 # Python Program to Compute all the Permutation of the String

To understand this example, you should have the knowledge of the following Python programming topics:

Permutation is the method of selecting elements from a set in different ways.

For example: the number of ways in which characters from `yup` can be selected are `yup`, `ypu`, `uyp`, `upy`, `puy`, `pyu`, and not selecting any.

We will perform the same in the following examples.

## Example 1: Using recursion

``````def get_permutation(string, i=0):

if i == len(string):
print("".join(string))

for j in range(i, len(string)):

words = [c for c in string]

# swap
words[i], words[j] = words[j], words[i]

get_permutation(words, i + 1)

print(get_permutation('yup'))``````

Output

```yup
ypu
uyp
upy
puy
pyu
None```

In this example, recursion is used to find the permutations of a string `yup`.

• The if condition prints `string` passed as argument if it is equal to the length of `yub`.
• In each iteration of the for loop, each character of `yup` is stored in `words`.
• The elements of words are swapped. In this way, we achieve all different combinations of characters.
• This process continues until the maximum length is reached.

## Example 2: Using itertools

``````from itertools import permutations

words = [''.join(p) for p in permutations('pro')]

print(words)``````

Output

`['pro', 'por', 'rpo', 'rop', 'opr', 'orp']`

Using permutations from `itertools` module, we can find the permutations of a string.