PythonLambda
Lambda Functions
A lambda function is a small anonymous function.
A lambda function can take any number of arguments, but can only have one expression.
Syntax
The expression is executed and the result is returned:
Example
Add 10 to argumenta, and return the result:
print(x(5))
Lambda functions can take any number of arguments:
Example
Multiply argumenta with argumentb and return the result:
print(x(5, 6))
Example
Summarize argumenta,b, andc and return the result:
print(x(5, 6, 2))
Why Use Lambda Functions?
The power of lambda is better shown when you use them as an anonymous function inside another function.
Say you have a function definition that takes one argument, and that argument will be multiplied with an unknown number:
return lambda a : a * n
Use that function definition to make a function that always doubles the number you send in:
Example
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Or, use the same function definition to make a function that alwaystriples the number you send in:
Example
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Or, use the same function definition to make both functions, in the same program:
Example
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mytripler(11))
Use lambda functions when an anonymous function is required for a short period of time.
Lambda with Built-in Functions
Lambda functions are commonly used with built-in functions likemap(),filter(), andsorted().
Using Lambda with map()
Themap() function applies a function to every item in an iterable:
Example
Double all numbers in a list:
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)
Using Lambda with filter()
Thefilter() function creates a list of items for which a function returnsTrue:
Example
Filter out even numbers from a list:
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers)
Using Lambda with sorted()
Thesorted() function can use a lambda as a key for custom sorting:
Example
Sort a list of tuples by the second element:
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)
Example
Sort strings by length:
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)

