"""
A class that implements a set data structure
"""
class myset (object) :
def __init__(self, items = None) :
self.items = {}
if items is not None :
for item in items :
self.add(item)
def __len__(self) :
return len(self.items)
def __repr__(self) :
item_strings = [str(item) for item in self.items]
return "set with the elements\n" + ','.join(item_strings)
def add(self, item) :
self.items[item] = 1
def remove(self, item) :
if item not in self.items :
raise ValueError, "cannot remove an item that is not present"
del self.items[item]
if __name__ == "__main__" :
s = myset(range(10))
print s
s.remove(5)
print s
