[Python-Dev] Tricky way of of creating a generator via a comprehension expression

Greg Ewing greg.ewing at canterbury.ac.nz
Thu Nov 23 17:20:31 EST 2017


Serhiy Storchaka wrote:
> Ivan explained that 
> this function should be rough equivalent to
> 
>    def f():
>        t = [(yield i) for i in range(3)]
>        return (x for x in t)

This seems useless to me. It turns a lazy iterator
into an eager one, which is a gross violation of the
author's intent in using a generator expression.

-- 
Greg


More information about the Python-Dev mailing list