This content originally appeared on DEV Community and was authored by Rahul Gupta
Welcome to Day 15 of the 100 Days of Python series!
Today, we explore lambda functions — short, simple, and anonymous functions that fit in one line of code. They’re great for quick calculations, especially when paired with functions like map()
, filter()
, and sorted()
.
Let’s break it down with examples and real-world use cases.
What You’ll Learn
- What a lambda function is
- Syntax of a lambda
- How it’s different from
def
- Real-world use cases
- Common mistakes to avoid
What Is a Lambda Function?
A lambda function is a small anonymous function (no name). It’s often used when you need a quick function for a short task.
Syntax:
lambda arguments: expression
It can have any number of arguments, but only one expression.
Example 1: Basic Lambda Function
square = lambda x: x * x
print(square(5)) # Output: 25
This is equivalent to:
def square(x):
return x * x
Example 2: Multiple Arguments
add = lambda a, b: a + b
print(add(3, 7)) # Output: 10
Common Use: Inside map()
, filter()
, sorted()
Using with map()
numbers = [1, 2, 3, 4]
squares = list(map(lambda x: x**2, numbers))
print(squares) # [1, 4, 9, 16]
Using with filter()
nums = [5, 12, 17, 18, 24, 3]
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens) # [12, 18, 24]
Using with sorted()
(custom key)
students = [("John", 88), ("Alice", 92), ("Bob", 75)]
sorted_students = sorted(students, key=lambda x: x[1], reverse=True)
print(sorted_students)
# [('Alice', 92), ('John', 88), ('Bob', 75)]
Real-World Example: Tip Calculator
calculate_tip = lambda bill, percent: round(bill * percent / 100, 2)
print(calculate_tip(200, 10)) # Output: 20.0
When to Use Lambda Functions
Use lambdas when:
- You need a short function for a quick task
- You don’t want to define a full function using
def
- You’re using functions like
map()
,filter()
,sorted()
Avoid lambdas when:
- The logic is complex
- You need multiple lines
- You need reusability or debugging support
Common Mistakes
- Trying to write multiple lines: Lambdas only support single expressions
- Overusing lambdas: Makes code harder to read and maintain
- Using lambdas when
def
is more appropriate
lambda
vs def
Feature | lambda |
def |
---|---|---|
Name | Anonymous | Named |
Length | One-line | Multi-line |
Reusability | Not reusable (typically) | Reusable |
Best for | Quick, short logic | Full function logic |
Recap
Today you learned:
- What lambda functions are and how to write them
- The syntax:
lambda args: expression
- How to use them with
map()
,filter()
, andsorted()
- When and when not to use lambdas
- Real-world examples like tip calculators and sorting
This content originally appeared on DEV Community and was authored by Rahul Gupta