Did you know that you can get a cartesian product of two lists or a list with itself in python? In this article, we will learn how to create cartesian product of two lists in Python.
How to Create Cartesian Product of Two Lists in Python
Let us say you have the following lists that you want to create cartesian product for.
lists = [ [1, 2, 3], ['a', 'b'], [4, 5, 6] ]
Starting python 2.6, you can use itertools.product to obtain cartesian product of two or more lists, or list with itself.
Here are the commands to create cartesian product of above 3 lists.
import itertools lists = [ [1, 2, 3], ['a', 'b'], [4, 5] ] for element in itertools.product(*lists): print(element)
Output will be as follows:
[(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5) ...]
It will give you a list of tuples, where each tuple contains items from each of the 3 lists. Alternatively, you can also obtain the above output with the following commands.
for element in itertools.product([1, 2, 3], ['a', 'b'], [4, 5]): print(element)
Alternatively, if you want to create cartesian product of list a=[1,2,3] with itself, you can do so in the following couple of ways.
for element in itertools.product([1, 2, 3], [1, 2, 3]): print(element)
Or as the following.
import itertools lists = [ [1, 2, 3], [1, 2, 3] ] for element in itertools.product(*lists): print(element)
If you have two separate lists, you can also use itertools.product function to create cartesian product of both lists. Here is a simple example to create cartesian product of two lists a and b.
from itertools import product l1 = [1,5,6] l2 = [1,2,9] print(list(product(l1, l2)))
Here is the output you will see.
[(1, 1), (1, 2), (1, 9), (5, 1), (5, 2), (5, 9), (6, 1), (6, 2), (6, 9)]
In this article, we have learnt how to create cartesian product of multiple lists, as well as a list with itself.
Also read:
How to Disable Triggers in PostgreSQL
Convert Text File to Excel Using Shell Script
How to Move Directory to Another Git Repository
How to Move Directory to Another Partition in Linux
How to Search PDF File in Linux
Related posts:
How to Import CSV in Python
How to Delete All Instances of Character from String in Python
How to Compare Dictionary in Python
How to Import Python Modules by String Name
How to Create PDF File in Python
How to Split File in Python
How to Export Pandas Dataframe to Multiple Excel Sheets
Plot Graph from CSV Data Using Python Matplotlib

Sreeram has more than 10 years of experience in web development, Python, Linux, SQL and database programming.