A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/python-permutation-given-string-using-inbuilt-function/ below:

Python | Permutation of a given string using inbuilt function

Python | Permutation of a given string using inbuilt function

Last Updated : 30 Dec, 2024

The task is to generate all the possible permutations of a given string. A permutation of a string is a rearrangement of its characters. For example, the permutations of "ABC" are "ABC", "ACB", "BAC", "BCA", "CAB", and "CBA". The number of permutations of a string with n unique characters is n! (factorial of n).

We can generate permutations of a string in Python using methods like inbuilt functions and recursion.

itertools module in Python provides a simple function called permutations that can generate all possible permutations of a string. This method is the easiest and most efficient, especially when working with built-in Python libraries.

Python
import itertools

s = "GFG"
li = [''.join(p) for p in itertools.permutations(s)]
print(li)

Explanation:

Using Recursion

Recursion is a method where a function calls itself to solve smaller parts of a problem. In the case of generating permutations, we can break down the problem by selecting one character at a time and recursively permuting the rest of the string. This approach is a bit more complex than using itertools.permutations, but it can be useful if we want more control over the process.

Python
def permute(s, s2):
    if len(s) == 0:
        print(s2, end=' ')
        return
    
    for i in range(len(s)):
        char = s[i]
        left_s = s[0:i]
        right_s = s[i+1:]
        rest = left_s + right_s
        permute(rest, s2 + char)

s1 = "GFG"
s2 = ""
permute(s1, s2)

Output
GFG GGF FGG FGG GGF GFG 

Explanation:



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4