[Python-ideas] while conditional in list comprehension ??

Shane Green shane at umbrellacode.com
Tue Jan 29 15:45:14 CET 2013


Here's what I was doing, and worked when i switched to the generator: 

>>> def stop(): 
…     raise StopIteration()

>>> list(((x if x < 5 else stop()) for x in range(10)))
[0, 1, 2, 3, 4]





Shane Green 
www.umbrellacode.com
408-692-4666 | shane at umbrellacode.com

On Jan 29, 2013, at 6:36 AM, Wolfgang Maier <wolfgang.maier at biologie.uni-freiburg.de> wrote:

>> Are you trying to say you entered that code and it ran?
>> I would be very surprised: if you could simply 'raise StopIteration' within the
>> 'if' clause then there would be no point to the discussion.
>> But as it is, your StopIteration should not be caught by the 'for', but will be
>> raised directly. Did you try running it?
> 
> Sorry, I missed your enclosing list(), which explains things of course.
> Cheers,
> Wolfgang
> 
> 
> 
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20130129/9a2d6c9e/attachment.html>


More information about the Python-ideas mailing list