class Set(list):
def __init__(self, value = []):
list.__init__([])
self.concat(value)
def intersect(self, other):
res = []
for x in self:
if x in other:
res.append(x)
return Set(res)
def union(self, other):
res = Set(self)
res.concat(other)
return res
def concat(self, value):
for x in value:
if not x in self:
self.append(x)
def __and__(self, other): return self.intersect(other)
def __or__(self, other): return self.union(other)
def __repr__(self): return 'Set:' + list.__repr__(self)
x = Set([1,3,5,7])
y = Set([2,1,4,5,6])
print x, y, len(x)
print x.intersect(y), y.union(x)
print x & y, x | y
x.reverse( ); print x
|