Learn Lambda Functions by Building an Expense Tracker - Step 22

Tell us what’s happening:

It doesn’t let me use the map call as list function arguments

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"]}')

def total_expenses(expenses):

# User Editable Region

    pass
    
test = lambda x: x * 2
print(map(test, [2, 3, 5, 8]))
def list(map(test, [2, 3, 5, 8]))
print(list)


expenses = []

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36

Challenge Information:

Learn Lambda Functions by Building an Expense Tracker - Step 22

Do it by passing the map() call as the argument to the list() function.

This is pretty close but you are not defining a function or creating a variable.

You just need to pass the map call to list, which you have done! But you needed to keep it all within the print() call. It will be a triple nested function call.

func1(fucn2(func3(arg1, arg2)))

Thank you so much for your help!

1 Like