class orderedset(object): | |
def __init__(self): | |
self.items = [] | |
self.set = set() | |
def add(self, item): | |
if item in self.set: | |
return False | |
self.items.append(item) | |
self.set.add(item) | |
return True | |
def pop(self): | |
item = self.items.pop() | |
self.set.remove(item) | |
return item |