[Python-ideas] Rewriting the "roundrobin" recipe in the itertools documentation

Terry Reedy tjreedy at udel.edu
Thu Nov 16 18:15:53 EST 2017


On 11/16/2017 2:42 PM, brent bejot wrote:
> I think the idea behind the original recipe is that when one of the 
> inner lists has been iterated through, it is removed and never looked at 
> again.  Imagine the following scenario:
> 
> L is a list which contains one million empty lists and also a list 
> containing one million numbers

> Then the original recipe will iterate over two million(ish) items: each 
> inner list must get visited and each item from the long inner list must 
> get visited.  However, your use of zip_longest must visit one trillion 
> items, which will likely not finish in a reasonable amount of time.
> 
> I'm not saying that this is likely to be the case, but this is probably 
> why the original recipe is what it is.  It would be great to see a 
> recipe that is more pythonic but that maintains the efficiencies of the 
> first recipy, but I could not come up with one.

The two assignments and while loop for 'pending' can be turned into a 
for loop, as in my response (with correction).

-- 
Terry Jan Reedy




More information about the Python-ideas mailing list