Computer Science Grade 9 20 min

Functional Programming Fundamentals: Lambda Expressions and Map

Introduce lambda expressions and the `map` function for concise and efficient code.

Tutorial Preview

1

Introduction & Learning Objectives

Learning Objectives Define what a lambda expression is and its purpose in Python. Write a simple lambda expression that takes one or more arguments to perform a single operation. Explain the purpose and functionality of the built-in map() function. Use the map() function with a lambda expression to transform each item in a list. Convert a map object into a list to view and use its contents. Compare a traditional for loop approach to the map() and lambda approach for transforming data. Ever wanted to write a tiny, one-line function to do a quick job, like doubling every number in a list? 🚀 What if you could do it without even giving the function a name? In this lesson, you'll discover a powerful style of programming called functional programming. We'll learn about...
2

Key Concepts & Vocabulary

TermDefinitionExample Functional ProgrammingA style of writing code by creating and combining small, predictable functions. Think of it like building with LEGOs: each function is a block that does one thing well and doesn't interfere with other blocks.Instead of a loop that changes a list, you create a new list by applying a function to the old one. This avoids side effects and can make code easier to understand. Lambda ExpressionA small, unnamed function defined with the `lambda` keyword. It can take any number of arguments but can only have one expression (one line of code). It's also called an 'anonymous function'.lambda x: x * 2 (This is a function that takes an argument `x` and returns `x` multiplied by 2). map() functionA built-in Python function that applies a...
3

Core Syntax & Patterns

Lambda Expression Syntax lambda arguments: expression Use the `lambda` keyword to start. List the `arguments` (inputs) before the colon. After the colon, write the single `expression` that will be performed and returned. Map Function Syntax map(function, iterable) Use `map()` to apply a `function` to every item in an `iterable` (like a list). The `function` can be a regular named function or, very commonly, a lambda expression. Viewing Map Results list(map(function, iterable)) The `map()` function returns a map object, not a list. To see the results, you must wrap your `map()` call with `list()` to convert the object into a list.

4 more steps in this tutorial

Sign up free to access the complete tutorial with worked examples and practice.

Sign Up Free to Continue

Sample Practice Questions

Challenging
You have a list of prices `[10.00, 25.50, 8.75]`. You need to calculate the final price after adding a 10% tax (i.e., multiplying by 1.1). Which code snippet correctly generates the list of final prices?
A.`list(map(lambda price: price * 0.10, prices))`
B.`list(map(lambda price: price + 1.1, prices))`
C.`list(map(lambda price: price * 1.1, prices))`
D.`list(map(lambda price * 1.1, prices))`
Challenging
A teammate writes this lambda: `lambda x: (x.strip().lower() if isinstance(x, str) else x)`. Based on the tutorial's advice, what is the best critique of this code?
A.This is perfect, lambdas should be as compact as possible.
B.The code is wrong and will cause an error.
C.The logic is too complex for a lambda; a separate `def` function would be more readable and maintainable.
D.`isinstance()` cannot be used inside a lambda expression.
Challenging
You have a list of dictionaries representing players: `players = [{'name': 'Alice', 'score': 100}, {'name': 'Bob', 'score': 85}]`. How would you use `map` and a `lambda` to create a list containing only the scores: `[100, 85]`?
A.`list(map(lambda score: players['score'], players))`
B.`list(map(lambda p: p['score'], players))`
C.`list(map(lambda p: p.score, players))`
D.`list(map(lambda p['score'], players))`

Want to practice and check your answers?

Sign up to access all questions with instant feedback, explanations, and progress tracking.

Start Practicing Free

More from Advanced Python Techniques: Beyond the Basics

Ready to find your learning gaps?

Take a free diagnostic test and get a personalized learning plan in minutes.