How to generate cartesian product of a series of lists in Python

2 Answers

0 votes
from itertools import product
  
lists = [[1, 2, 3], [4, 5, 6], [7, 8]]

print(list(product(*lists)))



'''
run:

[(1, 4, 7), (1, 4, 8), (1, 5, 7), (1, 5, 8), (1, 6, 7), (1, 6, 8), 
(2, 4, 7), (2, 4,8), (2, 5, 7), (2, 5, 8), (2, 6, 7), (2, 6, 8), 
(3, 4, 7), (3, 4, 8), (3, 5, 7), (3,5, 8), (3, 6, 7), (3, 6, 8)]

'''

 



answered Dec 9, 2019 by avibootz
0 votes
from itertools import product
  
lists = [[1, 2, 3], [4, 5, 6], [7, 8]]

for item in product(*lists):
    print(item)



'''
run:

(1, 4, 7)
(1, 4, 8)
(1, 5, 7)
(1, 5, 8)
(1, 6, 7)
(1, 6, 8)
(2, 4, 7)
(2, 4, 8)
(2, 5, 7)
(2, 5, 8)
(2, 6, 7)
(2, 6, 8)
(3, 4, 7)
(3, 4, 8)
(3, 5, 7)
(3, 5, 8)
(3, 6, 7)
(3, 6, 8)

'''

 



answered Dec 9, 2019 by avibootz

Related questions

2 answers 290 views
1 answer 118 views
1 answer 131 views
2 answers 226 views
...