It's suspect, please file a bug. Thanks for noticing! On Wed, Jul 9, 2008 at 7:49 AM, Carl Johnson <[EMAIL PROTECTED]> wrote: > Python 3.0a5 (r30a5:62856, May 10 2008, 10:34:28) > [GCC 4.0.1 (Apple Inc. build 5465)] on darwin > Type "help", "copyright", "credits" or "license" for more information. >>>> def f(x): > ... if x > 5: raise StopIteration > ... >>>> [x for x in range(100) if not f(x)] > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "<stdin>", line 1, in <listcomp> > File "<stdin>", line 2, in f > StopIteration >>>> list(x for x in range(100) if not f(x)) > [0, 1, 2, 3, 4, 5] > > Certainly, it's an inconsistency compared to generator expressions, but is > it a bug? I know that Python 3000 is making it so that list comprehension > variables don't leak anymore, so I take it that the goal is to have them be > more similar to generator expressions than not. Then again, maybe there are > good reasons for this behavior? My own feeling is that these two cases > should behave the same way, but I could be wrong. > > I hope this isn't an old issue, but I've been lurking for a few months and > haven't heard any discussion of this. > > -- Carl Johnson > _______________________________________________ > Python-3000 mailing list > Python-3000@python.org > http://mail.python.org/mailman/listinfo/python-3000 > Unsubscribe: > http://mail.python.org/mailman/options/python-3000/guido%40python.org >
-- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com