Hello, I came accross what i think is a serious bug in the python interpreter.
Membership testing seems not to work for list of objects when these objects have a user-defined __cmp__ method. It is present in Python 2.3 and 2.4. I don't know about other versions. The following code illustrates the bug: from random import choice class OBJ: def __init__(self,identifier): self.id=identifier self.allocated=0 def __cmp__(self,other): return cmp(other.allocated,self.allocated) mylist=[OBJ(i) for i in range(20)] excluded=[obj for obj in mylist if obj.id>choice(range(20))] for obj in mylist: if obj in excluded: assert obj.id in [objt.id for objt in excluded] continue Running the above snippet will trigger the assert. The culprit seems to be the __cmp__ method which sorts on a key with constant value. Best regards Alain -- http://mail.python.org/mailman/listinfo/python-list