I am trying to write a module to combine a variable number of lists using itertools.product.
The closest I can get is:
import itertools
lists = [["item1","item2"],["A","b","C"], ["etc..."]]
searchterms = list(itertools.product(lists))
print searchterms
This doesn't work, because lists is a single list, so it just returns the original sequence. But I can't figure out how to pass each element of the lists variable to itertools.
Thanks for any suggestions.
You need to use *
to separate the single list into its constituent lists:
searchterms = list(itertools.product(*lists))
See the Python Tutorial section on Unpacking Argument Lists.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With