Table of Contents
In this example, you will learn 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.
1. 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 =
# 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
stringpassed as argument if it is equal to the length ofyub. - In each iteration of the for loop, each character of
yupis stored inwords. - 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.
2. 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.
Related posts:
Check if a String is a Palindrome in Java
Python sleep()
Python open()
Python String isdecimal()
Python any()
Python Exception Handling Using try, except and finally statement
Python Program to Shuffle Deck of Cards
Python object()
Python reversed()
Python Program to Iterate Over Dictionaries Using for Loop
Python slice()
Reading an HTTP Response Body as a String in Java
Python Decorators
Python Program to Count the Occurrence of an Item in a List
Machine Learning with Python for everyone - Mark E.Fenner
Python Program to Get File Creation and Modification Date
Python Program to Find Factorial of Number Using Recursion
Python String rsplit()
Python Dictionary pop()
Python Program to Find LCM
Python Sets
Python Program to Check Whether a String is Palindrome or Not
Adding a Newline Character to a String in Java
Python String strip()
Python String isprintable()
Python Program to Check If a String Is a Number (Float)
Python *args and **kwargs
Python Dictionary setdefault()
Python Program to Check if a Number is Positive, Negative or 0
CharSequence vs. String in Java
Python Program to Randomly Select an Element From the List
Python Closures