Lambda functions, also known as anonymous functions or lambda expressions, are a concise way to create small, unnamed functions in Python. They are often used for short-term operations where a full function definition seems unnecessary. Here are some key points about lambda functions:
lambda arguments: expression
# Regular function
def square(x):
return x ** 2
# Equivalent lambda function
square_lambda = lambda x: x ** 2
print(square(5)) # Output: 25
print(square_lambda(5)) # Output: 25
Map, Filter, and Reduce:
map(), filter(), and reduce().numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
sum_of_numbers = reduce(lambda x, y: x + y, numbers)
Sorting:
key parameter in sorting functions.data = [(1, 5), (3, 2), (8, 1)]
sorted_data = sorted(data, key=lambda x: x[1])
Callbacks:
def process_data(data, callback):
# Some processing
result = callback(data)
return result
result = process_data(10, lambda x: x * 2)
Inline Functions:
add = lambda x, y: x + y
result = add(3, 5)
Lambda functions are a powerful tool when used appropriately, but it's essential to consider readability and maintainability, especially for more complex operations.