On Thu, Mar 19, 2015 at 12:10 AM, Dave Angel <da...@davea.name> wrote: > The catch to a list comprehension is it has to visit all the elements, while > a binary search would visit log-base-2 of them. So instead of 10000 > elements, you'd be searching about 14 items.
I suspected as much, but had not verified this. Nonetheless, this may prove sufficiently fast. I will have to test this with my final data files. Right now I am using test cases, while I continue to design, check, rewrite, etc. > For large lists, it'd probably be much quicker to use the bisect module. > https://docs.python.org/3.4/library/bisect.html Can you give me a ballpark number for "large", where this would start making a meaningful difference? > Check out bisect.bisect_left() and bisect.bisect_right() It looks like this should work. Thanks! I will investigate. > I don't see how to directly use those functions on a list which is > reverse-sorted, but the source is available. On my install, it's located > at: > > /usr/lib/python3.4/bisect.py And I see this is available on my oldest Python installlation, 2.4.4, too. -- boB _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor