[ x for x in xrange(10) when p(x) ]
Paul Rubin
http
Thu Nov 10 06:11:02 EST 2005
"bonono at gmail.com" <bonono at gmail.com> writes:
> > How does a useless generator expression make it more generic?
>
> xrange is only picked as an example. I may be newbie on python but not
> that dumb if all I want is a list of integer(sorted) that meets certain
> criteria.
>
> takewhile(p, (x for x in
> some_function_that_could_potentially_generate_a_long_list_of_elements_but_first_element_that_meets_the_condition_can_come_fast(*args,**kwargs)))
The generator expression is useless in that example too. some_function...
has to return an iterator, not a list, if you don't want it to use a
pile of memory. And if it returns an iterator, the generator
expression is redundant. You can pass the iterator directly to
takewhile.
More information about the Python-list
mailing list