# Charm the Python: Lambdas

###
Vicki (she/her)
*Updated on *
・2 min read

30 Days of Python (19 Part Series)

*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

30 Days of Python (19 Part Series)

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: