[Python-Dev] Tricky way of of creating a generator via a comprehension expression (original) (raw)

Ethan Furman ethan at stoneleaf.us
Wed Nov 22 16:32:38 EST 2017


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 fungen(): 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.

-- Ethan



More information about the Python-Dev mailing list