Movatterモバイル変換


[0]ホーム

URL:


Open In App
Next Article:
Generate all permutation of a set in Python
Next article icon

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 inPythonusing methods like inbuilt functions andrecursion.

Using itertools.permutations

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 withbuilt-in Python libraries.

Python
importitertoolss="GFG"li=[''.join(p)forpinitertools.permutations(s)]print(li)

Explanation:

  • itertools.permutations(s) generates all possible permutations of the string s, returning each permutation as a tuple.
  • ''.join(p) converts eachtuplep into a string by concatenating its elements.
  • list comprehension collects all the joined strings (permutations) into a list.

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
defpermute(s,s2):iflen(s)==0:print(s2,end=' ')returnforiinrange(len(s)):char=s[i]left_s=s[0:i]right_s=s[i+1:]rest=left_s+right_spermute(rest,s2+char)s1="GFG"s2=""permute(s1,s2)

Output
GFG GGF FGG FGG GGF GFG

Explanation:

  • If the string s is empty, print the accumulated answer.
  • For each character in s, remove the character and recursively permute the remaining characters while adding the character to answer.
  • Call permute(s, answer) with the initial string and an empty answer to start generating permutations.

Similar Reads

We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood ourCookie Policy &Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences

[8]ページ先頭

©2009-2025 Movatter.jp