Creating Small Anonymous Functions in Python

In Python, lambda functions allow you to define small, anonymous functions without needing a formal function definition using the def keyword. These are especially useful for short operations where defining a full function would be overkill.

What is a Lambda Function?

A lambda function is an anonymous function created using the lambda keyword. It can take any number of arguments but contains only one expression. The result of this expression is returned automatically.

Syntax of a Lambda Function

The general syntax looks like this:

lambda arguments: expression

For example:

square = lambda x: x ** 2
print(square(5))  # Output: 25

This defines a lambda function that squares its input.

When to Use Lambda Functions

Lambda functions are particularly useful in scenarios such as:

Examples of Lambda Functions in Action

Here’s how you might use lambda functions with common Python tools:

Using map()

numbers = [1, 2, 3, 4]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)  # Output: [2, 4, 6, 8]

Using filter()

evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)  # Output: [2, 4]

Using sorted()

pairs = [(1, 'one'), (2, 'two'), (3, 'three')]
sorted_pairs = sorted(pairs, key=lambda pair: pair[1])
print(sorted_pairs)  # Output: [(1, 'one'), (3, 'three'), (2, 'two')]

Limitations of Lambda Functions

While convenient, lambda functions have limitations:

Despite these constraints, lambdas remain a powerful tool when used appropriately.