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

2017年11月22日 12:51:01 -0800

Isn't yield like a return?
A return in a list/dict/set comprehension makes no sense to me.
So, +1 on SyntaxError from me too.
Cheers.
On 22.11.2017 21:29, David Mertz wrote:
Inasmuch as I get to opine, I'm +1 on SyntaxError. There is no behavior for that spelling that I would find intuitive or easy to explain to students. And as far as I can tell, the ONLY time anything has ever been spelled that way is in comments saying "look at this weird edge case behavior in Python." On Nov 22, 2017 10:57 AM, "Jelle Zijlstra" <[email protected] <mailto:[email protected]>> wrote:
 2017年11月22日 9:58 GMT-08:00 Guido van Rossum <[email protected]
 <mailto:[email protected]>>:
 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
 <http://python.org/%7Eguido>)
 _______________________________________________
 Python-Dev mailing list
 [email protected] <mailto:[email protected]>
 https://mail.python.org/mailman/listinfo/python-dev
 <https://mail.python.org/mailman/listinfo/python-dev>
 Unsubscribe:
 
https://mail.python.org/mailman/options/python-dev/jelle.zijlstra%40gmail.com
 
<https://mail.python.org/mailman/options/python-dev/jelle.zijlstra%40gmail.com>
 _______________________________________________
 Python-Dev mailing list
 [email protected] <mailto:[email protected]>
 https://mail.python.org/mailman/listinfo/python-dev
 <https://mail.python.org/mailman/listinfo/python-dev>
 Unsubscribe:
 https://mail.python.org/mailman/options/python-dev/mertz%40gnosis.cx
 <https://mail.python.org/mailman/options/python-dev/mertz%40gnosis.cx>
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/srkunze%40mail.de
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to