[Python-Dev] Tricky way of of creating a generator via a comprehension expression (original) (raw)
Ivan Levkivskyi levkivskyi at gmail.com
Thu Nov 23 03:19:54 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 23 November 2017 at 09:15, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
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. This could be just a semantic equivalence (mental model), not how it should be internally implemented.
-- Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20171123/790c5c4f/attachment.html>
- 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 ]