Python: Cartesian product of two or more given lists using itertools
Python Itertools: Exercise-12 with Solution
Write a Python program to compute the Cartesian product of two or more given lists using itertools.
In mathematics, specifically set theory, the Cartesian product of two sets A and B, denoted A × B, is the set of all ordered pairs (a, b) where a is in A and b is in B. In terms of set-builder notation, that is
A table can be created by taking the Cartesian product of a set of rows and a set of columns. If the Cartesian product rows × columns is taken, the cells of the table contain ordered pairs of the form (row value, column
Sample Solution:
Python Code:
import itertools
def cartesian_product(lists):
return list(itertools.product(*lists))
ls = [[1,2],[3,4]]
print("Original Lists:",ls)
print("Cartesian product of the said lists: ",cartesian_product(ls))
ls = [[1,2,3],[3,4,5]]
print("\nOriginal Lists:",ls)
print("Cartesian product of the said lists: ",cartesian_product(ls))
ls = [[],[1,2,3]]
print("\nOriginal Lists:",ls)
print("Cartesian product of the said lists: ",cartesian_product(ls))
ls = [[1,2],[]]
print("\nOriginal Lists:",ls)
print("Cartesian product of the said lists: ",cartesian_product(ls))
Sample Output:
Original Lists: [[1, 2], [3, 4]] Cartesian product of the said lists: [(1, 3), (1, 4), (2, 3), (2, 4)] Original Lists: [[1, 2, 3], [3, 4, 5]] Cartesian product of the said lists: [(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 3), (3, 4), (3, 5)] Original Lists: [[], [1, 2, 3]] Cartesian product of the said lists: [] Original Lists: [[1, 2], []] Cartesian product of the said lists: []
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to generate combinations of a given length of given iterable.
Next: Write a Python program to chose specified number of colours from three different colours and generate all the combinations with repetitions.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
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']}
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
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