Python: Generate combinations of an given iterable - w3resource
w3resource

Python: Generate combinations of an given iterable

Python Itertools: Exercise-11 with Solution

Write a Python program to generate combinations of a given length of 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 Python skills with w3resource's quiz


Python: Tips of the Day