[Python-Dev] Possible resolution of generatorexpressionvariablecapture dilemma (original) (raw)

Guido van Rossum guido at python.org
Thu Mar 25 19:01:38 EST 2004


With regard to generator expressions, isn't Guido leaning back towards not having any variable capture?

Right.

Or is he un-leaning-back again? This is all getting very confusing...

Paul Dubois told me he thought that an example I used in my keynote today (which would fail without capture) would be an attractive nuisance for scientists (since it looked just like a reasonable way to compute an outer product). I'm not sure the argument holds, because an outer product would typically be created as a list of lists, not a list of generators.

The example I used was:

F = [] for i in range(10): F.append(x*i for x in range(10))

It would end up creating 10 generators referencing the variable i with value 9.

The version using list comprehensions of course works:

F = [] for i in range(10): F.append([x*i for x in range(10)])

--Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list