itertools product(infinite iterator) hangs
On Sat, 14 Sep 2019 at 07:22, ast <none at gmail.com> wrote:
> Le 14/09/2019 ? 04:26, Oscar Benjamin a ?crit :
> > What am I missing?
> here is a pseudo code for product:
> def product(*args, repeat=1):
> # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
> # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
> pools = [tuple(pool) for pool in args] * repeat
> result = []
> for pool in pools:
> result = [x+[y] for x in result for y in pool]
> for prod in result:
> yield tuple(prod)
> clearly "tuple(pool)" hangs with an infinite iterable pool
Thanks for this response. I also realised this myself after a while.
Actually I didn't see your message until I posted my own followup
reply because gmail had moved it into spam. Apparently it doesn't like
the headers in your email for some reason: "Gmail could not verify
that it actually came from gmail.com. Avoid clicking links,
downloading attachments or replying with personal information."