<br><br><div class="gmail_quote">On Dec 26, 2007 2:30 PM, Charles R Harris &lt;<a href="mailto:charlesr.harris@gmail.com">charlesr.harris@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="Ih2E3d">On Dec 26, 2007 1:45 PM, Keith Goodman &lt;<a href="mailto:kwgoodman@gmail.com" target="_blank">kwgoodman@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div>On Dec 26, 2007 12:22 PM, Mathew Yeates &lt;<a href="mailto:myeates@jpl.nasa.gov" target="_blank">myeates@jpl.nasa.gov</a>&gt; wrote:<br>&gt; I have an arbitrary number of lists. I want to form all possible<br>&gt; combinations from all lists. So if
<br>&gt; r1=[&quot;dog&quot;,&quot;cat&quot;]<br>&gt; r2=[1,2]<br>&gt;<br>&gt; I want to return [[&quot;dog&quot;,1],[&quot;dog&quot;,2],[&quot;cat&quot;,1],[&quot;cat&quot;,2]]<br>&gt;<br>&gt; It&#39;s obvious when the number of lists is not arbitrary. But what if
<br>&gt; thats not known until runtime?<br><br></div>Would this work?<br><br>Make a function that takes two inputs (a list of lists and a list) and<br>returns a list of lists that contains all possible combinations.<br>Iterate through all lists by calling the function with the output of
<br>the previous call (a list of lists) and the next list.<br><div><div></div><div>____</div></div></blockquote></div><div><br>Yeah, you can do it with recursion, but I don&#39;t think it would be quite as efficient. An example of the explicit approach, define the following generator:
<br><br><span style="font-family: courier new,monospace;">def count(listoflists) :</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; counter = [i[0] for i in listoflists]
</span></div></div></blockquote><div><br>Make that counter = [0 for i in listoflists]. That bug slipped in going from [0]*len(listoflists). <br></div><br>Chuck<br></div><br>