Finding the insertion point in a list
7stud
bbxx789_05ss at yahoo.com
Sun Mar 18 13:15:42 EDT 2007
On Mar 18, 2:23 am, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
> Steve Holden <s... at holdenweb.com> writes:
> > > max(i for i,t in enumerate(x) if t <= y)
> > > Those are actually pretty direct.
>
> > How about a solution (like the bisect one suggested almost as soon as
> > this thread started) that doesn't iterate over the whole list.
>
> Here's a Haskell-inspired one:
>
> len(list(itertools.takewhile(lambda t: y > t, x)))
>
Can you explain how list() works in that statement. I looked up
takewhile() and it returns an iterator that will automatically stop at
the insertion point? So does list() do an internal comprehension with
the iterator?
More information about the Python-list
mailing list