"Steven D'Aprano" <st...@pearwood.info> wrote

Interestingly on my PC with Python 3.1:
>>> data = list(range(10000000))
>>> 9999999 in data

takes an apparently constant, sub second time.

With respect Alan, timing operations by eye is pretty lame, what did you
do, count your heartbeats? :)

Sure, but I was surprised at the previous post claiming 7 seconds.
I just wanted to show that 'in' should not be discarded too quickly,
its "good enough" for the vast majority of cases even with big data
sets.

I would expect that the difference between searching for 9999999 and -5
would be insignificant, because in both cases you have to walk the
entire list. And sure enough, both take about half a second on my PC:

Yes, I did try other values too, but by the "heartbeat test" (you should patent it! :-)
they were all 'constant' time.


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to