On 1/14/18 9:57 PM, Dan Stromberg wrote:
On Sun, Jan 14, 2018 at 3:01 PM, Peng Yu <pengyu...@gmail.com> wrote:
Hi,

I see the following usage of list comprehension can generate a
generator. Does anybody know where this is documented? Thanks.
Here's the (a?) generator expression PEP:
https://www.python.org/dev/peps/pep-0289/

Here's a presentation I put together on this and related topics a while back:
http://stromberg.dnsalias.org/~strombrg/Intro-to-Python/Python%20Generators,%20Iterators%20and%20Comprehensions%202014.pdf

FWIW, [a for a in range(2)] is a list comprehension; it's eager. And
(a for a in range(2)) is a generator expression; it's lazy.


I really wish these were called generator comprehensions.  I don't understand why they are not.

    [ 2*x for x in range(10) ]     # makes a list
    ( 2*x for x in range(10) )     # makes a generator

--Ned.
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to