*If coding tutorials with math examples are the bane of your existence, keep reading. This series uses relatable examples like dogs and cats.*

## Lambda Function

Lambda functions are unnamed functions. This means it is not defined like a normal function.

Defining lambdas is similar to defining a regular function, but it has a different syntax.

```
# syntax of a function
def name(args):
# syntax of lambda function
lambda args: expression # can only have one expression
lambda args, args, args: expression # may have multiple parameters
```

Note: Lambdas can only handle expressions. Expressions must have `return`

values like numbers, `True`

, and `False`

### Lambda, by Itself

```
# A regular function
def add_two_numbers(a, b):
return a + b
# Same function written as a lambda function
add_two_numbers = lambda a, b: a + b
```

Notice, both take args `a`

and `b`

, then add them together. The only difference is that the first one is defined as a function.

For my math loathing pals

```
# A regular function
def generate_full_name(first_name, last_name):
return first_name + ' ' + last_name
# Same function written as a lambda function
generate_full_name = lambda first_name, last_name: first_name + ' ' + last_name
```

### Lambda function inside other function

Lambda functions can be used inside of other functions.

```
# future home of an example
# if you could help me with a simple example that would be badass
# a non-math example would be appreciated forever
# simple math would be cool too (something like 2+2)
```

#### Further Investigation

If all of this makes sense to you and you'd like a little more fanciness and excitement, lookup 'Self invoking lambda function'

Note: Lambdas are not something I'm really comfortable with. For more details check out this thorough article about Lambdas in Python.

Series based on

## Discussion (3)

For your example of a "function inside another function", do you mean something like this?

I think this is what I was referring to, but I’m not super sure. All the examples I saw were using functions like map(), filter(), and sort()

I’ve never seen

`key`

used before. Help me out, what is`x`

doing in this?If I’m reading this correctly, it’s just sorting these key-value pairs by age, right?

yes,

`array.sort`

and`sorted`

take a named parameter in Python 3 (I had to learn this a couple of days ago!) which is run as a callback, once per key, immediately before sorting the elements. So that example calls`x: x["age"]`

on every element first.It's the equivalent of this:

and this: