Python: Create an iteraor to get specified number of permutations of elements - w3resource
w3resource

Python: Create an iteraor to get specified number of permutations of elements

Python Itertools: Exercise-10 with Solution

Write a Python program to create an iterator to get specified number of permutations of elements.

Sample Solution:

Python Code:

import itertools as it
def permutations_data(iter, length):
    return it.permutations(iter, length)
#List
result = permutations_data(['A','B','C','D'], 3)
print("\nIterator to get specified number of permutations of elements:")
for i in result:
    print(i)

#String
result = permutations_data("Python", 2)
print("\nIterator to get specified number of permutations of elements:")
for i in result:
    print(i)

Sample Output:

Iterator to get specified number of permutations of elements:
('A', 'B', 'C')
('A', 'B', 'D')
('A', 'C', 'B')
('A', 'C', 'D')
('A', 'D', 'B')
('A', 'D', 'C')
('B', 'A', 'C')
('B', 'A', 'D')
('B', 'C', 'A')
('B', 'C', 'D')
('B', 'D', 'A')
('B', 'D', 'C')
('C', 'A', 'B')
('C', 'A', 'D')
('C', 'B', 'A')
('C', 'B', 'D')
('C', 'D', 'A')
('C', 'D', 'B')
('D', 'A', 'B')
('D', 'A', 'C')
('D', 'B', 'A')
('D', 'B', 'C')
('D', 'C', 'A')
('D', 'C', 'B')

Iterator to get specified number of permutations of elements:
('P', 'y')
('P', 't')
('P', 'h')
('P', 'o')
('P', 'n')
('y', 'P')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 'P')
('t', 'y')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'P')
('h', 'y')
('h', 't')
('h', 'o')
('h', 'n')
('o', 'P')
('o', 'y')
('o', 't')
('o', 'h')
('o', 'n')
('n', 'P')
('n', 'y')
('n', 't')
('n', 'h')
('n', 'o')

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to split an iterable and generate iterables specified number of times.
Next: Write a Python program to generate combinations of a given length of given iterable.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz


Python: Tips of the Day