[Python-Dev] Tricky way of of creating a generator via a comprehension expression
Greg Ewing
greg.ewing at canterbury.ac.nz
Thu Nov 23 03:15:59 EST 2017
Ivan Levkivskyi wrote:
> On 23 November 2017 at 05:44, Greg Ewing <greg.ewing at canterbury.ac.nz
> <mailto:greg.ewing at canterbury.ac.nz>> wrote:
>
> def g():
> return ((yield i) for i in range(10))
>
>
> I think this code should be just equivalent to this code
>
> def g():
> temp = [(yield i) for i in range(10)]
> return (v for v in temp)
But then you get a non-lazy iterable, which defeats the
purpose of using a generator expression -- you might as
well have used a comprehension to begin with.
--
Greg
More information about the Python-Dev
mailing list