w3resource

Python: All possible combinations of the elements of a given list, use itertools module

Python Itertools: Exercise-35 with Solution

Write a Python program to get all possible combinations of the elements of a given list using the itertools module.

Sample Solution:

Python Code:

import itertools
def combinations_list(list1):
    temp = []
    for i in range(0,len(list1)+1):
        temp.append(list(itertools.combinations(list1,i)))
    return temp

colors = ['orange', 'red', 'green', 'blue']
print("Original list:")
print(colors)
print("\nAll possible combinations of the said list’s elements:")
print(combinations_list(colors))

Sample Output:

Original list:
['orange', 'red', 'green', 'blue']

All possible combinations of the said list’s elements:
[[()], [('orange',), ('red',), ('green',), ('blue',)], [('orange', 'red'), ('orange', 'green'), ('orange', 'blue'), ('red', 'green'), ('red', 'blue'), ('green', 'blue')], [('orange', 'red', 'green'), ('orange', 'red', 'blue'), ('orange', 'green', 'blue'), ('red', 'green', 'blue')], [('orange', 'red', 'green', 'blue')]]

Python Code Editor:


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

Previous: Write a Python program to compute the sum of digits of each number of a given list of positive integers.

Next: Write a Python program to add two given lists of different lengths, start from right , using itertools module.

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