class OrderSet:
def init(self,v):
self.__data=set(v)
def repr(self):
return “OrderSet(%s)”%list(self.__data)

def __and__(self,rhs):
    s=self.__data&rhs.__data
    return OrderSet(s)

def __or__(self, rhs):
    s=self.__data|rhs.__data
    return OrderSet(s)

def __xor__(self, rhs):
    s=self.__data^rhs.__data
    return OrderSet(s)

def __sub__(self, rhs):
    s=self.__data-rhs.__data
    return OrderSet(s)

def __contains__(self, e):

    '''not in'''
    return True if e in self.__data else False

def __lt__(self, rhs):
    return  True if self.__datarhs.__data else False

def __eq__(self, rhs):
    s=self.__data==rhs.__data
    return True

def __ne__(self, rhs):
    s=self.__data!=rhs.__data
    return True

s1 = OrderSet([1, 2, 3, 4])
s2 = OrderSet([3, 4, 5])
print(s1 & s2) # OrderSet([3, 4])
print(s1 | s2) # OrderSet([1, 2, 3, 4, 5])
print(s1 ^ s2) # OrderSet([1, 2, 5])
print(s1 - s2)
print(s1 < s2)
print(s1 > s2)
if OrderSet([1, 2, 3]) != OrderSet([1, 2, 3, 4]):
print(“不相等”)
else:
print(“相等”)
if s1 == OrderSet([3, 4, 5]):
print(“s1 == OrderSet([3, 4, 5])”)
if 2 in s1:
print(‘2 in s1 返回真’)