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

Ivan Levkivskyi levkivskyi at gmail.com
Wed Nov 22 16:40:20 EST 2017


22 Лис 2017 22:33 "Ethan Furman" <ethan at stoneleaf.us> пише:

On 11/22/2017 01:25 PM, Ivan Levkivskyi wrote:

> 22 Лис 2017 22:19 "Ethan Furman" пише:
>

Whether it's inside or outside a function should be irrelevant -- a
>> comprehension / generator expression should have
>> no influence on the type of the resulting function (and at least
>> synchronous comprehensions / generator expressions
>> should be able to live outside of a function).
>>
>>     def fun_gen():
>>           return list((yield i) for i in range(3))
>>
>>     The return says it's returning a list, so that's what it should be
>> returning
>>
>
> def f():
>      yield 1
>      return list()
>
> Here return also says it should return a list, so this is not an argument.
>

Right, the argument is that calling the `list` constructor should return a
list -- not a database proxy, not a web page, and not a generator.


Then you didn't read my example carefully, since the whole point is that
the list constructor there returns a list.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20171122/b8ea067f/attachment-0001.html>


More information about the Python-Dev mailing list