Reputation: 6846
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
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