[EMAIL PROTECTED] wrote: > So, in general, is it more efficient to use a dictionary or to > override the __eq__ function?
Sorry, I guess I wasn't as clear as I could be. If your classes have not overridden __eq__ or __cmp__, list.remove() should have worked just fine. If you want your objects to be compared by identity (in list.remove(), as dictionary keys, in explicit "x==y" expressions), do not implement __eq__. Once you've resolved your __eq__ problems, then yes, you should consider a dictionary or a set, particularly if your list gets large. By default, if your classes have not overridden the __hash__ method, your objects will use identity to distinguish themselves. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco -- http://mail.python.org/mailman/listinfo/python-list