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
string
passed as argument if it is equal to the length ofyub
. - In each iteration of the for loop, each character of
yup
is 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:
Python while Loop
Python Program to Print the Fibonacci sequence
Python Tuple index()
Python Set discard()
Permutation Partitions
Python String encode()
Python Program to Print Output Without a Newline
Java String to InputStream
String Initialization in Java
Python Program to Get the Full Path of the Current Working Directory
Python Program to Multiply Two Matrices
Check if a String is a Palindrome in Java
Python Functions
Python Sets
Python String center()
Python filter()
Python format()
Java InputStream to String
Python String find()
Python Program to Find the Factors of a Number
Python Set symmetric_difference_update()
Python Set copy()
Learning scikit-learn Machine Learning in Python - Raul Garreta & Guillermo Moncecchi
Python super()
Python Directory and Files Management
Python Variables, Constants and Literals
Python set()
Converting String to Stream of chars
Python Program to Remove Punctuations From a String
Python String splitlines()
Python String title()
Python Set difference_update()