This is an archived version of the course and is no longer updated. Please find the latest version of the course on the main webpage.

Lambda inside higher-order functions

One main use of a lambda function is as an anonymous function inside another function.

For example, we might have a multiplier function that takes a number n as input, and returns a function that takes another number x as input and multiplies x by n (that was quite a mouthful!)

def multiplier(n):
    return lambda x: x * n

And we can have a variable doubler that is set to double a number. Remember, multipler(2) returns a function, and so doubler basically points to a function!

doubler = multiplier(2)

We can then call doubler to double a number.

print(doubler(5))   ## 10

Similarly, we can create another function called tripler and call it with another number to triple the number.

tripler = multiplier(3)
print(tripler(4))   ## 12

In the next few pages, we will look at some Python built-in higher order functions that can be used with lambda functions. Higher order functions are functions that take a function as an input argument, or that return a function.

Try to make sure that you understand these examples before moving on. Otherwise the next few pages might actually be even more confusing! 😕

[Credit: These examples are taken from the fantastic w3schools.com]