[Python-Dev] Tricky way of of creating a generator via a comprehension expression
Paul Moore
p.f.moore at gmail.com
Wed Nov 22 11:19:29 EST 2017
More information about the Python-Dev mailing list
Wed Nov 22 11:19:29 EST 2017
- Previous message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Next message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 22 November 2017 at 15:56, Yury Selivanov <yselivanov.ml at gmail.com> wrote: > For synchronous generator expression: > > r = (f(i) for i in range(3)) > > is really: > > def _(): > for i in range(3): > yield f(i) > r = _() > > For an asynchronous generator expression: > > r = (await f(i) for i in range(3)) > > is equivalent to: > > def _(): > for i in range(3): > yield (await f(i)) > r = _() Wait, I missed this on first reading. The note in the docs for generator expressions defining asynchronous generator expressions is *incredibly* easy to miss, and doesn't say anything about the semantics (the expansion you quote above) being different for the two cases. This definitely needs clarifying in the docs. Paul
- Previous message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Next message (by thread): [Python-Dev] Tricky way of of creating a generator via a comprehension expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list