Suggestion for impriving list comprehensions
Guido van Rossum
guido at python.org
Thu Jul 26 17:33:20 EDT 2001
paul at svensson.org (Paul Svensson) writes:
> I would like to suggest that we add a "while condition" clause
> to list comprehensions, similar to the "if condition" clause,
> but terminating the list comprehension on the first false condition.
> The above example could then be written as
>
> [x for x in fib() while x < 50]
Neat, but maybe not general enough. How do you request the first N?
And fuzzy: does this include or exclude the first x >= 50?
How about a library of functions for iterator algebra? E.g.
def first(n, sq):
it = iter(sq)
for i in range(n): yield it.next()
def lessthan(n, sq):
for x in sq:
if x >= n: break
yield x
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-list
mailing list