我有一组对象:
class Test(object):
    def __init__(self):
        self.i = random.randint(1,10)
res = set()
for i in range(0,1000):
    res.add(Test())
print len(res) = 1000
如何从一组对象中删除重复项?
感谢您的回答,它的工作:
class Test(object):
    def __init__(self, i):
        self.i = i
    #   self.i = random.randint(1,10)
    #   self.j = random.randint(1,20)
    def __keys(self):
        t = ()
        for key in self.__dict__:
            t = t + (self.__dict__[key],)
        return t
    def __eq__(self, other):
        return isinstance(other, Test) and self.__keys() == other.__keys()
    def __hash__(self):
        return hash(self.__keys())
res = set()
res.add(Test(2))
...
res.add(Test(8))
结果:[2,8,3,4,5,6,7]
但是如何保存订单?设置不支持顺序。例如,我可以使用列表代替设置吗?