# [Numpy-discussion] how do I list all combinations

Mathew Yeates myeates@jpl.nasa....
Wed Dec 26 16:19:56 CST 2007

```Thanks Chuck.

Charles R Harris wrote:
>
>
> On Dec 26, 2007 2:30 PM, Charles R Harris <charlesr.harris@gmail.com
> <mailto:charlesr.harris@gmail.com>> wrote:
>
>
>
>     On Dec 26, 2007 1:45 PM, Keith Goodman <kwgoodman@gmail.com
>     <mailto:kwgoodman@gmail.com>> wrote:
>
>         On Dec 26, 2007 12:22 PM, Mathew Yeates <myeates@jpl.nasa.gov
>         <mailto:myeates@jpl.nasa.gov>> wrote:
>         > I have an arbitrary number of lists. I want to form all possible
>         > combinations from all lists. So if
>         > r1=["dog","cat"]
>         > r2=[1,2]
>         >
>         > I want to return [["dog",1],["dog",2],["cat",1],["cat",2]]
>         >
>         > It's obvious when the number of lists is not arbitrary. But
>         what if
>         > thats not known until runtime?
>
>         Would this work?
>
>         Make a function that takes two inputs (a list of lists and a
>         list) and
>         returns a list of lists that contains all possible combinations.
>         Iterate through all lists by calling the function with the
>         output of
>         the previous call (a list of lists) and the next list.
>         ____
>
>
>     Yeah, you can do it with recursion, but I don't think it would be
>     quite as efficient. An example of the explicit approach, define
>     the following generator:
>
>     def count(listoflists) :
>         counter = [i[0] for i in listoflists]
>
>
> Make that counter = [0 for i in listoflists]. That bug slipped in
> going from [0]*len(listoflists).
>
> Chuck
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion@scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>

```