Introduction
Lambda functions in Python are a powerful way to write small, anonymous functions in a clean and concise manner. They’re often used when a simple operation is needed without the overhead of defining a full function using def
.
What Is a Lambda Function?
A lambda function is an anonymous function defined with the keyword lambda
. It can take any number of arguments but only one expression.
# Syntax:
lambda arguments: expression
# Example:
multiply = lambda x, y: x * y
print(multiply(2, 5)) # Output: 10
Common Use Cases
- Used with
map()
,filter()
,reduce()
, andsorted()
- When writing small throwaway functions inline
- To avoid naming a function unnecessarily
Example with sorted()
items = [('apple', 3), ('banana', 1), ('orange', 2)]
sorted_items = sorted(items, key=lambda item: item[1])
print(sorted_items)
Example with map()
nums = [1, 2, 3, 4]
squares = list(map(lambda x: x**2, nums))
print(squares) # Output: [1, 4, 9, 16]
Limitations of Lambda Functions
- Only a single expression is allowed—no statements
- Less readable when overused or nested
- Cannot contain control flow statements like
return
,try
, orfor
Lambda vs def
# Using def
def add(x, y):
return x + y
# Using lambda
add = lambda x, y: x + y
Both work, but def
is preferable for complex or reusable logic, while lambda
is great for one-liners.
Conclusion
Lambda functions offer a sleek way to write small, anonymous functions. When used appropriately, they make your code cleaner and more expressive. However, overusing them can hurt readability, so apply them wisely.
Comment