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
Recall & Review
beginner
What is a lambda function in Python?
A lambda function is a small anonymous function defined with the lambda keyword. It can have any number of arguments but only one expression, which is returned automatically.
Click to reveal answer
beginner
How does a regular function differ from a lambda function?
A regular function is defined using def and can have multiple expressions and statements. It can also have a name and more complex logic, while a lambda is anonymous and limited to a single expression.
Click to reveal answer
beginner
Can lambda functions have multiple statements?
No, lambda functions can only contain a single expression. They cannot have multiple statements or commands like regular functions.
Click to reveal answer
intermediate
When should you use a lambda function instead of a regular function?
Use lambda functions for short, simple operations that are used temporarily, such as in sorting or filtering. For more complex logic or reusable code, use regular functions.
Click to reveal answer
beginner
Example: Write a lambda function that adds 5 to a number.
add_five = lambda x: x + 5 This function takes one argument x and returns x + 5.
Click to reveal answer
Which keyword is used to define a lambda function in Python?
Afunction
Bdef
Clambda
Dfunc
✗ Incorrect
Lambda functions are defined using the lambda keyword.
What is the main limitation of lambda functions compared to regular functions?
AThey cannot return a value
BThey cannot take arguments
CThey must have a name
DThey can only have one expression
✗ Incorrect
Lambda functions are limited to a single expression and cannot contain multiple statements.
Which of these is a valid lambda function that doubles a number?
Adef double(x): return x * 2
Blambda x: x * 2
Clambda x: return x * 2
Ddef double = lambda x: x * 2
✗ Incorrect
Option B is the correct syntax for a lambda function doubling a number.
When is it better to use a regular function instead of a lambda?
AWhen the function needs multiple statements
BWhen the function is very short
CWhen the function is anonymous
DWhen the function has only one expression
✗ Incorrect
Regular functions are better for multiple statements or complex logic.
What does this lambda function do? lambda x, y: x + y
AAdds two numbers
BSubtracts y from x
CMultiplies two numbers
DDivides x by y
✗ Incorrect
This lambda function takes two arguments and returns their sum.
Explain the differences between lambda functions and regular functions in Python.
Think about how you write each and when you use them.
You got /5 concepts.
Write a simple example of a lambda function and a regular function that both add 10 to a number.
Use lambda x: x + 10 and def add_ten(x): return x + 10
You got /3 concepts.
Practice
(1/5)
1. Which of the following best describes a lambda function in Python?
easy
A. A function defined using def that can have multiple statements.
B. A short, anonymous function defined with the lambda keyword.
C. A function that must always return None.
D. A function that can only be used inside classes.
Solution
Step 1: Understand lambda function definition
A lambda function is defined using the lambda keyword and is anonymous (no name).
Step 2: Compare with regular functions
Regular functions use def and can have multiple statements, unlike lambdas which are single expressions.
Final Answer:
A short, anonymous function defined with the lambda keyword. -> Option B
Quick Check:
Lambda = short anonymous function [OK]
Hint: Lambdas are short and nameless functions [OK]
Common Mistakes:
Thinking lambdas can have multiple statements
Confusing lambda with regular def functions
Believing lambdas must return None
2. Which of the following is the correct syntax for a lambda function that adds 5 to its input?
easy
A. def add_five(x): return x + 5
B. lambda x x + 5
C. lambda x: x + 5
D. lambda (x): return x + 5
Solution
Step 1: Recall lambda syntax
A lambda function is written as lambda parameters: expression without def or return.
Step 2: Check each option
lambda x: x + 5 matches the correct syntax: lambda x: x + 5. Others have syntax errors or use def.
Final Answer:
lambda x: x + 5 -> Option C
Quick Check:
Lambda syntax = lambda params: expression [OK]
Hint: Lambda uses colon, no def or return [OK]
Common Mistakes:
Including 'def' or 'return' in lambda
Missing colon after parameters
Using parentheses incorrectly
3. What is the output of the following code?
add = lambda x, y: x + y
def add_func(x, y):
return x + y
print(add(3, 4))
print(add_func(3, 4))
medium
A. 7\n7
B. 34\n34
C. TypeError\nTypeError
D. None\nNone
Solution
Step 1: Understand lambda and regular function behavior
Both add (lambda) and add_func (regular) add two numbers and return the sum.
Step 2: Evaluate the print statements
Calling add(3, 4) and add_func(3, 4) both return 7, so output is two lines with 7.
Final Answer:
7
7 -> Option A
Quick Check:
Both add functions return sum = 7 [OK]
Hint: Both lambda and def return same result if logic matches [OK]
Common Mistakes:
Thinking lambda returns string concatenation
Confusing output with error messages
Assuming lambda can't return values
4. Identify the error in this code snippet:
multiply = lambda x, y:
x * y
print(multiply(2, 3))
medium
A. No error; output is 6
B. SyntaxError due to missing colon after lambda parameters
C. TypeError because lambda cannot take two arguments
D. IndentationError because lambda body is on new line
Solution
Step 1: Check lambda syntax rules
Lambda functions must have their expression on the same line as the lambda keyword and parameters.
Step 2: Analyze the code structure
The code places the expression x * y on the next line, causing an IndentationError.
Final Answer:
IndentationError because lambda body is on new line -> Option D
Quick Check:
Lambda body must be on same line [OK]
Hint: Lambda body must be on same line as parameters [OK]
Common Mistakes:
Placing lambda body on next line
Adding colon after lambda parameters
Thinking lambda can't take multiple arguments
5. You want to sort a list of tuples by the second item using a function. Which is the best way to write the key function?
hard
A. list.sort(key=lambda t: t[1])
B. def get_second(t): return t[1]
list.sort(key=get_second(t))
C. list.sort(key=lambda t t[1])
D. list.sort(key=get_second())
Solution
Step 1: Understand sorting with key functions
The key parameter expects a function that takes one argument and returns the value to sort by.
Step 2: Evaluate options for correctness and efficiency
def get_second(t): return t[1]
list.sort(key=get_second(t)) defines a regular function but incorrectly calls get_second(t) (causing NameError: 't' not defined). list.sort(key=lambda t: t[1]) uses a lambda inline, which is concise and common. list.sort(key=lambda t t[1]) has syntax error (missing colon). list.sort(key=get_second()) calls get_second() instead of passing the function.
Step 3: Choose best practice
Using a lambda inline is best for simple, one-time use functions.