(original) (raw)
2017-11-22 9:58 GMT-08:00 Guido van Rossum <guido@python.org>:
Wow, 44 messages in 4 hours. That must be some kind of record.If/when there's an action item, can someone summarize for me?
The main disagreement seems to be about what this code should do:
g = \[(yield i) for i in range(3)\]
Currently, this makes \`g\` into a generator, not a list. Everybody seems to agree this is nonintuitive and should be changed.
One proposal is to make it so \`g\` gets assigned a list, and the \`yield\` happens in the enclosing scope (so the enclosing function would have to be a generator). This was the way things worked in Python 2, I believe.
Another proposal is to make this code a syntax error, because it's confusing either way. (For what it's worth, that would be my preference.)
There is related discussion about the semantics of list comprehensions versus calling list() on a generator expression, and of async semantics, but I don't think there's any clear point of action there.
----Guido van Rossum (python.org/\~guido)
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/ jelle.zijlstra%40gmail.com