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.
Top comments (0)