Language: EN

python-funciones-lambda

Lambda Functions in Python

Lambda functions, also known as anonymous functions, are an alternative way of defining functions. Unlike regular functions, lambda functions do not have a name.

In general, they are small functions, and are used in contexts where a function is needed temporarily. For example, when used as parameters for other functions.

If you want to learn more
consult the Introduction to Programming Course read more

Lambda Functions

In Python, lambda functions are defined using the lambda keyword followed by a list of parameters, followed by a colon (:) and an expression.

lambda parameters: expression

For example, we can define a lambda function that calculates the square of a number as follows:

square = lambda x: x * x

This lambda function takes an argument x and returns the result of x * x. Lambda functions are especially useful when we need to pass a function as an argument to another function, as we will see next.

Lambda Functions with Multiple Arguments

In this example, sum is a lambda function that takes two arguments x and y and returns the sum of both.

# Syntax: lambda arguments: expression
sum = lambda x, y: x + y
print(sum(3, 5))  # Output: 8

Examples

Let’s see some examples of how the syntax of lambda functions is used in Python:

Sum of Two Numbers

In this example, we define a lambda function called sum that takes two arguments x and y and returns their sum.

sum = lambda x, y: x + y
print(sum(3, 5))  # Output: 8

Filtering a List

In this example, we use a lambda function within the filter() function to filter the even numbers from a list.

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)  # Output: [2, 4, 6, 8, 10]

Mapping a List

In this example, we use a lambda function within the map() function to calculate the square of each number in a list.

numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x ** 2, numbers))
print(squares)  # Output: [1, 4, 9, 16, 25]

Lambda Functions vs. Defined Functions

Lambda functions are useful when we need a quick function to perform a simple operation. They are often used in combination with higher-order functions, such as map(), filter(), and reduce().

  • Syntax Limitations: Lambda functions are limited to a single expression and cannot contain multiple statements or lines of code.
  • Readability: Lambda functions can affect the readability of the code if used excessively or in complicated situations.
  • Debugging: Debugging lambda functions may be more difficult compared to functions with explicit names.

In summary, they are very useful for what they are, but don’t use them too liberally 😉