accounts = [] def transfer(source: int, destination: int, amount: int) -> None: source_account = get_account(source) update_account(source_account, -amount) destination_account = get_account(destination) update_account(destination_account, amount) def get_account(number: int) -> dict: return list(filter(lambda account: account['number'] == number, accounts))[0] def update_account(account: int, delta: int) -> None: account['balance'] += delta if __name__ == '__main__': accounts.append({'number': 1, 'balance': 100}) accounts.append({'number': 2, 'balance': 200}) transfer(1, 2, 50) print(accounts)