Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

Python: Permutations of specified elements, drawn from specified values

Python Itertools: Exercise-14 with Solution

Write a Python program 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.



Python: Tips of the Day

Find current directory and file's directory:

To get the full path to the directory a Python file is contained in, write this in that file:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Note that the incantation above won't work if you've already used os.chdir() to change your current working directory, since the value of the __file__ constant is relative to the current working directory and is not changed by an os.chdir() call.)

To get the current working directory use

import os
cwd = os.getcwd()

Documentation references for the modules, constants and functions used above:

  • The os and os.path modules.
  • The __file__ constant
  • os.path.realpath(path) (returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")
  • os.path.dirname(path) (returns "the directory name of pathname path")
  • os.getcwd() (returns "a string representing the current working directory")
  • os.chdir(path) ("change the current working directory to path")

Ref: https://bit.ly/3fy0R6m