w3resource

Python: Generate combinations of an given iterable


11. Combinations of Given Length

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')

For more Practice: Solve these Related Problems:

  • Write a Python program to generate all combinations of a given length from an iterable, then filter those whose sum is even.
  • Write a Python program to build an iterator that yields combinations of a specified length and then reverses the order of each combination.
  • Write a Python program to create an iterator that produces combinations and then converts each combination into a tuple of strings.
  • Write a Python program to generate combinations from an iterable and then map a function to compute a custom aggregation for each combination.

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.



Follow us on Facebook and Twitter for latest update.