class Perk: def __init__(self, key): self.key = key def __hash__(self): return hash(self.key) def __eq__(self, other): return self.key == other.key class Bag: def __init__(self, items): self.items = items def __iter__(self): return iter(self.items) def __getitem__(self, i): return self.items[i] def __contains__(self, x): return x in self.items table = {} table[Perk("a")] = 1 table[Perk("a")] = 2 result_size = len(table) result_value = table[Perk("a")] bag = Bag([3, 4, 5]) result_loop = [x * 2 for x in bag] result_item = bag[1] result_in = 4 in bag result_out = 9 in bag