Python: A Guide to Lambda Functions
≀Paulo Portela
Posted on February 20, 2024
Introduction
In this chapter, we'll explore the use of lambda functions in Python, using a math theme to illustrate their functionality. Lambda functions, also known as anonymous functions, are a way to create small, one-time-use functions in Python. They are often used in situations where a short, simple function is needed, such as when passing a function as an argument to another function.
Creating a Simple Lambda Function
Let's start by creating a simple lambda function that takes two arguments and returns their sum:
add = lambda x, y: x + y
In this example, we create a lambda function that takes two arguments x
and y
and returns their sum. We assign this lambda function to a variable add
so that we can use it like any other function:
result = add(3, 4)
print(result)
Output:
7
Using Multiple Arguments
Lambda functions can also take multiple arguments. For example, let's create a lambda function that calculates the average of three numbers:
average = lambda x, y, z: (x + y + z) / 3
In this example, the lambda function average
takes three arguments representing three numbers, and returns their average. We can call this lambda function by passing three arguments inside the parentheses:
result = average(3, 4, 5)
print(result)
Output:
4.0
Using Lambda Functions with Map and Filter
Lambda functions are often used as arguments to other functions, such as the map
and filter
functions. For example, let's say we have a list of numbers and we want to create a new list with the squares of these numbers. We can use the map
function with a lambda function to achieve this:
numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x**2, numbers))
print(squares)
Output:
[1, 4, 9, 16, 25]
In this example, we use the map
function to apply the lambda function to each element of the numbers
list. The lambda function takes one argument x
and returns its square. The map
function returns an iterator, so we need to convert it to a list to see the result.
We can also use the filter
function with a lambda function to filter a list based on a condition. For example, let's say we want to create a new list with only the even numbers from the original list. We can use the filter
function with a lambda function to achieve this:
numbers = [1, 2, 3, 4, 5]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)
Output:
[2, 4]
In this example, we use the filter
function to apply the lambda function to each element of the numbers
list. The lambda function takes one argument x
and returns True
if it is even, and False
otherwise. The filter
function returns an iterator with only the elements for which the lambda function returns True
, so we need to convert it to a list to see the result.
Conclusion
Lambda functions offer a concise and flexible way to create small, one-time-use functions in Python. They can be used to perform simple calculations, manipulate data, and pass functions as arguments to other functions.
Posted on February 20, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 12, 2024