1class orderedset(object): 2 def __init__(self): 3 self.items = [] 4 self.set = set() 5 6 def add(self, item): 7 if item in self.set: 8 return False 9 self.items.append(item) 10 self.set.add(item) 11 return True 12 13 def pop(self): 14 item = self.items.pop() 15 self.set.remove(item) 16 return item 17