"Emile van Sebille" <em...@fenx.com> wrote

For completeness sake, on a 10000 item list, using the in operator
takes *in the worst case* around 7 seconds.
Well on my system checking for the last element of a 100k item list returns true almost upon hitting the enter key. Surely 7 seconds for a list 1/10th the size is a typo?

Interestingly on my PC with Python 3.1:

data = list(range(10000000))
9999999 in data
True
-5 in data
False

takes an apparently constant, sub second time.
And the same test on Python 2.5 under cygwin is the same.
Now integers will be easier to deal with than strings but:

data = [str(x) for x in range(100000)]
'9999' in data
True
"-5" in data
False


Produces the same results.

And even at 10000000 entries, the list creation slowed right down - about 10 seconds, but the searches even for "-5" were still around a second.

So 'in' looks pretty effective to me!

--
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