Bird
Raised Fist0
Pythonprogramming~15 mins

Lambda with map() in Python - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Using Lambda with map() to Square Numbers
๐Ÿ“– Scenario: Imagine you have a list of numbers representing the ages of children in a class. You want to find the square of each age to understand how their growth might be represented in a fun math exercise.
๐ŸŽฏ Goal: You will create a list of ages, then use a lambda function with map() to calculate the square of each age, and finally print the list of squared ages.
๐Ÿ“‹ What You'll Learn
Create a list called ages with the exact values: 5, 7, 9, 10, 12
Create a lambda function inside map() that squares each number
Convert the result of map() to a list called squared_ages
Print the squared_ages list
๐Ÿ’ก Why This Matters
๐ŸŒ Real World
Using lambda with map() helps quickly apply simple changes to lists of data, like adjusting prices, converting units, or processing user inputs.
๐Ÿ’ผ Career
Many programming jobs require processing lists of data efficiently. Knowing how to use lambda with map() is a handy skill for data cleaning, transformation, and automation.
Progress0 / 4 steps
1
Create the list of ages
Create a list called ages with these exact values: 5, 7, 9, 10, 12
Python
Hint

Use square brackets [] to create a list and separate numbers with commas.

2
Set up the lambda with map()
Create a variable called squared_ages that uses map() with a lambda function to square each number in the ages list
Python
Hint

The lambda function takes one input x and returns x * x. Use list() to convert the map object to a list.

3
Print the squared ages
Write a print() statement to display the squared_ages list
Python
Hint

Use print(squared_ages) to show the list of squared numbers.

4
Explain the output
Add a print() statement that prints the text "Squared ages:" followed by the squared_ages list using an f-string
Python
Hint

Use print(f"Squared ages: {squared_ages}") to combine text and the list in one line.

Practice

(1/5)
1.

What does the map() function do when used with a lambda in Python?

easy
A. Creates a new list without changing items
B. Filters items based on a condition
C. Applies the lambda function to each item in the list
D. Sorts the list items

Solution

  1. Step 1: Understand the role of map()

    map() takes a function and a list, then applies the function to each item.
  2. Step 2: Role of lambda with map()

    The lambda defines a quick function to apply to each item in the list.
  3. Final Answer:

    Applies the lambda function to each item in the list -> Option C
  4. Quick Check:

    map() + lambda = apply function to each item [OK]
Hint: Remember: map applies function to every list item [OK]
Common Mistakes:
  • Thinking map filters items
  • Assuming map sorts the list
  • Believing map returns the original list unchanged
2.

Which of the following is the correct syntax to double each number in the list [1, 2, 3] using map() and lambda?

?
easy
A. map(lambda x: x * 2, [1, 2, 3])
B. list(map(lambda x: x * 2, [1, 2, 3]))
C. list(lambda x: x * 2, [1, 2, 3])
D. map([1, 2, 3], lambda x: x * 2)

Solution

  1. Step 1: Check map() syntax

    map() takes a function first, then the iterable (list).
  2. Step 2: Convert map object to list

    To see results, wrap map() with list().
  3. Final Answer:

    list(map(lambda x: x * 2, [1, 2, 3])) -> Option B
  4. Quick Check:

    Correct syntax = list(map(lambda x: x * 2, list)) [OK]
Hint: Use list() around map() to see results [OK]
Common Mistakes:
  • Forgetting to convert map to list
  • Swapping arguments in map()
  • Using lambda outside map() incorrectly
3.

What is the output of the following code?

nums = [1, 2, 3, 4]
result = list(map(lambda x: x + 1, nums))
print(result)
medium
A. [2, 3, 4, 5]
B. [1, 2, 3, 4]
C. [0, 1, 2, 3]
D. Error

Solution

  1. Step 1: Understand the lambda function

    The lambda adds 1 to each number in the list.
  2. Step 2: Apply lambda to each item in nums

    Each number 1,2,3,4 becomes 2,3,4,5 respectively.
  3. Final Answer:

    [2, 3, 4, 5] -> Option A
  4. Quick Check:

    Each item +1 = [2,3,4,5] [OK]
Hint: Add 1 to each item with lambda x: x + 1 [OK]
Common Mistakes:
  • Forgetting to convert map to list before print
  • Confusing addition with multiplication
  • Expecting original list unchanged
4.

Find the error in this code snippet:

numbers = [1, 2, 3]
result = map(lambda x: x ** 2, numbers)
print(result)
medium
A. map() requires two arguments but only one given
B. Lambda syntax is incorrect
C. List 'numbers' is not defined
D. Missing list() to convert map object before printing

Solution

  1. Step 1: Check map() usage

    map() returns a map object, not a list.
  2. Step 2: Printing map object directly

    Printing map object shows memory address, not values; convert to list first.
  3. Final Answer:

    Missing list() to convert map object before printing -> Option D
  4. Quick Check:

    Use list() to see map results [OK]
Hint: Wrap map() with list() before printing [OK]
Common Mistakes:
  • Trying to print map object directly
  • Thinking lambda syntax is wrong
  • Assuming map needs more arguments
5.

You have a list of strings representing numbers: ['1', '2', '3', '4']. Using map() and lambda, how do you convert this list to integers and then add 10 to each number?

hard
A. list(map(lambda x: int(x) + 10, ['1', '2', '3', '4']))
B. list(map(lambda x: x + 10, ['1', '2', '3', '4']))
C. list(map(int(x) + 10, ['1', '2', '3', '4']))
D. list(map(lambda x: int(x + 10), ['1', '2', '3', '4']))

Solution

  1. Step 1: Convert strings to integers inside lambda

    Use int(x) to convert each string to an integer.
  2. Step 2: Add 10 to each converted integer

    Inside lambda, add 10 to the integer value.
  3. Final Answer:

    list(map(lambda x: int(x) + 10, ['1', '2', '3', '4'])) -> Option A
  4. Quick Check:

    Convert then add 10 = list(map(lambda x: int(x)+10, list)) [OK]
Hint: Convert string to int inside lambda before adding [OK]
Common Mistakes:
  • Adding 10 to string without conversion
  • Incorrect lambda syntax
  • Trying to call int() outside lambda in map