w3resource

Python: Permutations of specified elements, drawn from specified values

Python Itertools: Exercise-14 with Solution

Write a Python program to generate permutations of specified elements drawn from specified values.

Sample Solution:

Python Code:

from itertools import product 

def permutations_colors(inp, n):
    for x in product(inp, repeat=n):
        c = ''.join(x)
        print(c,end=', ')

str1 = "Red"
print("Original String: ",str1)
print("Permutations of specified elements, drawn from specified values:")
n=1
print("\nn = 1")
permutations_colors(str1,n)
n=2
print("\nn = 2")
permutations_colors(str1,n)
n=3
print("\nn = 3")
permutations_colors(str1,n)

lst1 = ["Red","Green","Black"]
print("\n\nOriginal list: ",lst1)
print("Permutations of specified elements, drawn from specified values:")
n=1
print("\nn = 1")
permutations_colors(lst1,n)
n=2
print("\nn = 2")
permutations_colors(lst1,n)
n=3
print("\nn = 3")
permutations_colors(lst1,n)

Sample Output:

Original String:  Red
Permutations of specified elements, drawn from specified values:

n = 1
R, e, d, 
n = 2
RR, Re, Rd, eR, ee, ed, dR, de, dd, 
n = 3
RRR, RRe, RRd, ReR, Ree, Red, RdR, Rde, Rdd, eRR, eRe, eRd, eeR, eee, eed, edR, ede, edd, dRR, dRe, dRd, deR, dee, ded, ddR, dde, ddd, 

Original list:  ['Red', 'Green', 'Black']
Permutations of specified elements, drawn from specified values:

n = 1
Red, Green, Black, 
n = 2
RedRed, RedGreen, RedBlack, GreenRed, GreenGreen, GreenBlack, BlackRed, BlackGreen, BlackBlack, 
n = 3
RedRedRed, RedRedGreen, RedRedBlack, RedGreenRed, RedGreenGreen, RedGreenBlack, RedBlackRed, RedBlackGreen, RedBlackBlack, GreenRedRed, GreenRedGreen, GreenRedBlack, GreenGreenRed, GreenGreenGreen, GreenGreenBlack, GreenBlackRed, GreenBlackGreen, GreenBlackBlack, BlackRedRed, BlackRedGreen, BlackRedBlack, BlackGreenRed, BlackGreenGreen, BlackGreenBlack, BlackBlackRed, BlackBlackGreen, BlackBlackBlack, 

Python Code Editor:


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

Previous: Write a Python program to chose specified number of colours from three different colours and generate all the combinations with repetitions.
Next: Write a Python program to generate all possible permutations of n different objects.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Inverts a dictionary with non-unique hashable values:

Example:

def tips_collect_dictionary(obj):
  inv_obj = {}
  for key, value in obj.items():
    inv_obj.setdefault(value, list()).append(key)
  return inv_obj
ages = {
  "Owen": 25,
  "Jhon": 25,
  "Pepe": 15,
}
print(tips_collect_dictionary(ages))

Output:

{25: ['Owen', 'Jhon'], 15: ['Pepe']}

 





We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook