Learn Lambda Functions by Building an Expense Tracker - Step 26

Tell us what’s happening:

the line: print(map(lambda expense: expense[‘amount’], ) has problem. I don’t what is the second argument

I tried like this: print(map(lambda expense: expense[‘amount’], expenses)) and the error is: name ‘expense’ is not defined

Your code so far

def add_expense(expenses, amount, category):
    expenses.append({'amount': amount, 'category': category})
    
def print_expenses(expenses):
    for expense in expenses:
        print(f'Amount: {expense["amount"]}, Category: {expense["category"]}')
    

# User Editable Region

def total_expenses(expenses):
    lambda expense: expense['amount']

# User Editable Region

print(map(lambda expense: expense['amount'], ))
expenses = []

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0

Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 26

You shoult still be working inside the total_expenses function
reset the step, work only in the total_expenses function

reminder, this are the instructions

Now, call map() passing your lambda function as the first argument and the expenses list as the second argument.

I can’t find out the second argument. Can you help me solve this?

Hi @doanmaikhanhhung

… and the expenses list as the second argument.

Happy coding

You’ve already used the correct argument.

expenses is a function parameter, and so it only exists within the function:

def total_expenses(expenses):

Make sure your code is within the function and not outside the function.

You will get this error because expenses is only defined within function and your code is outside the function.

1 Like