[Python-3000] Is this a bug with list comprehensions or not? (original) (raw)
Carl Johnson carlmj at hawaii.edu
Wed Jul 9 16:46:18 CEST 2008
- Previous message: [Python-3000] __contains__ automatic coercion / unit conversion lib
- Next message: [Python-3000] Is this a bug with list comprehensions or not?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 "", line 1, in File "", line 1, in File "", 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
- Previous message: [Python-3000] __contains__ automatic coercion / unit conversion lib
- Next message: [Python-3000] Is this a bug with list comprehensions or not?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]