first thing.. you are duplicating a lot of effort inside your loops. getting 
rid of that will speed things up:

dict = {}
for record in list:
    rid = record[0]
    if rid in dict:
        dict[ rid ].append( record )
    else:
        dict[ rid ] = [record]

The other thing I see isn't a speed problem. You are overwriting two python 
built-in types when you use variables named "list" and "dict". You probably 
want to avoid doing this, because someday yuou want to use the built-ins, and 
you code wil exhibit goofy errors when you try.

The only thing I can suggest that might speed it up more is to use a set type 
instead of a list, if the ordering doesn't matter to you. I've seen that 
change result in 20-30 percent speedups, but YMMV. If you can't start with a 
set, you can create a new one by passing the list to the set constructor. 
This may or may not help you speedwise, but try it out.

You could play around with psyco, but I don't know if it would help much in 
this case.

Chris
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to