import pickle class Ledger(): def __init__(self) -> None: self.data = [] self.indexes = {} # ID: Index def readLedger(self, ID): data = None index = self.indexes.get(ID, None) if index is not None: data = self.data[index] return data def writeLedger(self, ID, data): oldData = self.readLedger(ID) if oldData is not None: data = self.updateLedger(data, oldData) index = self.indexes[ID] self.data[index] = data else: self.data.append(data) index = len(self.data) - 1 self.indexes.update({ID: index}) def updateLedger(self, data, newData): return data def main(): ledger = Ledger() ledger.writeLedger("Sus", [0,1]) ledger.writeLedger("Cum", [2,2]) print(ledger.readLedger("Cum")) ledger.writeLedger("Cum", [2,3]) print(ledger.readLedger("Cum")) if __name__ == "__main__": main()