Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions Recursion/python/Generate Permutations/Generate Permutations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
def permutation(lst):

# If lst is empty then there are no permutations
if len(lst) == 0:
return []

# If there is only one element in lst then, only
# one permuatation is possible
if len(lst) == 1:
return [lst]

# Find the permutations for lst if there are
# more than 1 characters

l = [] # empty list that will store current permutation

# Iterate the input(lst) and calculate the permutation
for i in range(len(lst)):
m = lst[i]

# Extract lst[i] or m from the list. remLst is
# remaining list
remLst = lst[:i] + lst[i+1:]

# Generating all permutations where m is first
# element
for p in permutation(remLst):
l.append([m] + p)
return l


# Driver program to test above function
data = list(map(int, input().split()))
for p in permutation(data):
print p

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use parentheses to print