In article <4a28903b.4020...@sweetapp.com>, Brian Quinlan <br...@sweetapp.com> wrote: > Scott David Daniels wrote: > [snipped] > > When you evaluate a lambda expression, the default args are evaluated, > > but the expression inside the lambda body is not. When you apply that > > evaluated lambda expression, the expression inside the lambda body is > > is evaluated and returned. > > But that's not really the issue. I knew that the lambda was not > evaluated but thought each generator expression got its own context > rather than sharing one.
Each? Maybe that's a source of confusion. There is only one generator expression in your example. >>> c = (lambda : i for i in range(11, 16)) >>> c <generator object <genexpr> at 0x114e90> >>> d = list(c) >>> d [<function <lambda> at 0x119348>, <function <lambda> at 0x119390>, <function <lambda> at 0x1193d8>, <function <lambda> at 0x119420>, <function <lambda> at 0x119468>] -- Ned Deily, n...@acm.org -- http://mail.python.org/mailman/listinfo/python-list