class Set:
def __init__(self):
self.datas = []
def add(self,element):
if not element in self.datas:
self.datas.append(element)
def remove(self, element):
assert element in self.datas
if element in self.datas:
self.datas.remove( element )
def contains(self,x):
if x in self.datas:
return True
else:
return False
def isSubsetof(self,setx):
if not isinstance(setx,Set):
return False
if self.equals(setx):
return True
for i in self.datas:
if i not in setx:
return False
return True
def union(self,setx):
assert isinstance(setx,Set)
for i in setx:
if i not in self:
self.datas.append(i)
def length(self):
return len(self.datas)
def equals(setx):
if not isinstance(setx,Set):
return False
for i in self.datas:
if i not in setx:
return False
for i in setx:
if i not in self.datas:
return False
return True
def intersect(self,setx):
assert isinstance(setx,Set)
tmplist = []
for i in self:
if i in setx:
tmplist.append(i)
return tmplist
def difference(self,setx):
assert isinstance(setx,Set)
tmplist = []
for i in self:
if i not in setx:
tmplist.append(i)
return tmplist
def __iter__(self):
self.index = -1
return self
def next(self):
if self.index == len(self.datas)-1:
raise StopIteration
self.index += 1
return self.datas[self.index]
def __init__(self):
self.datas = []
def add(self,element):
if not element in self.datas:
self.datas.append(element)
def remove(self, element):
assert element in self.datas
if element in self.datas:
self.datas.remove( element )
def contains(self,x):
if x in self.datas:
return True
else:
return False
def isSubsetof(self,setx):
if not isinstance(setx,Set):
return False
if self.equals(setx):
return True
for i in self.datas:
if i not in setx:
return False
return True
def union(self,setx):
assert isinstance(setx,Set)
for i in setx:
if i not in self:
self.datas.append(i)
def length(self):
return len(self.datas)
def equals(setx):
if not isinstance(setx,Set):
return False
for i in self.datas:
if i not in setx:
return False
for i in setx:
if i not in self.datas:
return False
return True
def intersect(self,setx):
assert isinstance(setx,Set)
tmplist = []
for i in self:
if i in setx:
tmplist.append(i)
return tmplist
def difference(self,setx):
assert isinstance(setx,Set)
tmplist = []
for i in self:
if i not in setx:
tmplist.append(i)
return tmplist
def __iter__(self):
self.index = -1
return self
def next(self):
if self.index == len(self.datas)-1:
raise StopIteration
self.index += 1
return self.datas[self.index]