Python: Generate combinations of an given iterable
Write a Python program to generate combinations of a given length of a given iterable.
Sample Solution:
Python Code:
import itertools as it
def combinations_data(iter, length):
return it.combinations(iter, length)
#List
result = combinations_data(['A','B','C','D'], 1)
print("\nCombinations of an given iterable of length 1:")
for i in result:
print(i)
#String
result = combinations_data("Python", 1)
print("\nCombinations of an given iterable of length 1:")
for i in result:
print(i)
#List
result = combinations_data(['A','B','C','D'], 2)
print("\nCombinations of an given iterable of length 2:")
for i in result:
print(i)
#String
result = combinations_data("Python", 2)
print("\nCombinations of an given iterable of length 2:")
for i in result:
print(i)
Sample Output:
Combinations of an given iterable of length 1: ('A',) ('B',) ('C',) ('D',) Combinations of an given iterable of length 1: ('P',) ('y',) ('t',) ('h',) ('o',) ('n',) Combinations of an given iterable of length 2: ('A', 'B') ('A', 'C') ('A', 'D') ('B', 'C') ('B', 'D') ('C', 'D') Combinations of an given iterable of length 2: ('P', 'y') ('P', 't') ('P', 'h') ('P', 'o') ('P', 'n') ('y', 't') ('y', 'h') ('y', 'o') ('y', 'n') ('t', 'h') ('t', 'o') ('t', 'n') ('h', 'o') ('h', 'n') ('o', 'n')
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to create an iterator to get specified number of permutations of elements.
Next: Write a Python program to create Cartesian product of two or more given lists using itertools.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics