Python: Find the sorted sequence from a set of permutations of a given input
16. Sorted Permutation Sequence
Write a Python program to find the sorted sequence from a set of permutations of a given input.
Sample Solution:
Python Code:
from itertools import permutations
from more_itertools import windowed
def is_seq_sorted(lst):
print(lst)
return all(
x <= y
for x, y in windowed(lst, 2)
)
def permutation_sort(lst):
return next(
permutation_seq
for permutation_seq in permutations(lst)
if is_seq_sorted(permutation_seq)
)
print("All the sequences:")
print("\nSorted sequence: ",permutation_sort([12, 10, 9]))
print("\n\nAll the sequences:")
print("\nSorted sequence: ",permutation_sort([2, 3, 1, 0]))
Sample Output:
All the sequences: (12, 10, 9) (12, 9, 10) (10, 12, 9) (10, 9, 12) (9, 12, 10) (9, 10, 12) Sorted sequence: (9, 10, 12) All the sequences: (2, 3, 1, 0) (2, 3, 0, 1) (2, 1, 3, 0) (2, 1, 0, 3) (2, 0, 3, 1) (2, 0, 1, 3) (3, 2, 1, 0) (3, 2, 0, 1) (3, 1, 2, 0) (3, 1, 0, 2) (3, 0, 2, 1) (3, 0, 1, 2) (1, 2, 3, 0) (1, 2, 0, 3) (1, 3, 2, 0) (1, 3, 0, 2) (1, 0, 2, 3) (1, 0, 3, 2) (0, 2, 3, 1) (0, 2, 1, 3) (0, 3, 2, 1) (0, 3, 1, 2) (0, 1, 2, 3) Sorted sequence: (0, 1, 2, 3)
For more Practice: Solve these Related Problems:
- Write a Python program to generate a set of permutations of a given input and then output the sorted sequence based on custom criteria.
- Write a Python program to produce permutations and then use sorting to determine the lexicographically smallest permutation.
- Write a Python program to generate permutations, sort them, and then map a function to highlight the differences between consecutive permutations.
- Write a Python program to compute the sorted order of all permutations of an input and then extract every alternate permutation from the sorted list.
Go to:
Previous: Write a Python program to generate all possible permutations of n different objects.
Next: Write a Python program to read a given string character by character and compress repeated character by storing the length of those character(s).
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.