[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

AltStyle によって変換されたページ (->オリジナル) /