Peter Horne
Peter Horne

Reputation: 6846

How can I find all the possible combinations of a list of lists (in Python)?

I have the following structure in Python:

letters = [['a', 'b', 'c'], ['p', 'q', 'r', 's'], ['j', 'k', 'l']]

I would like to find all the possible combinations of letters in the order that they currently exist. For the example above this would be:

apj
apk
apl
aqj
aqk
aql
...
csk
csl

This seems like it should be a very simple thing to do but I cannot figure it out.

Upvotes: 14

Views: 810

Answers (1)

Mark Byers
Mark Byers

Reputation: 837886

In Python 2.6 or newer you can use itertools.product:

>>> import itertools
>>> map(''.join, itertools.product(*letters))
apj
apk
apl
aqj
aqk
aql
...etc...
csk
csl

Upvotes: 14

Related Questions