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)