John Machin wrote: >> (my dictionary values are all None). > > So in fact all you need is a set. Have you experimented with the Python > 2.5 alpha? > I don't think that will help him: my timings work out about the same on 2.4.2 or 2.5a2. As I pointed out, the bottleneck is creating the tuples. Creating either a dictionary or a set from 5 million tuples takes a similar amount of time (about 6 seconds on my system).
BTW, a string key is quite a bit faster than the tuples, even though you end up with as many temporary tuples during the process: >>> scale = 2**32 >>> data = [ "%d:%d" % (i*scale,i) for i in range(5000000) ] >>> d = set(data) takes about 18 seconds to create the data list and 5 for the set. -- http://mail.python.org/mailman/listinfo/python-list