Today, we will be talking about anonymous functions in Python. Anonymous functions are also known as lambda functions. They are one-liners and look elegant. Below is the syntax

```
lambda parameters: expression
```

Since they have no names, they are called anonymous functions. However, to actually use them, we need to assign them to a variable

```
variable = lambda parameters: expression
```

To call a lambda function, we just call the variable and pass the parameters

```
variable(parameters)
```

Let's look at an example and compare a function written as a normal function and as a lambda function

#### Normal

```
def square(x):
result = x*x
return result
ans = square(5)
print(and)
```

#### Lambda

```
square = lambda x: x*x
ans = square(5)
print(and)
```

Both print the same result. However, the lambda expression looks cleaner.

#### Lambda functions with multiple parameters

```
add = lambda x,y: x+y
print(add(5,4))
```

### Using lambda functions with the sorted function

```
pairs = [(1,2) , (3,14) , (5,26) , (10,20) ]
sorted_pairs = sorted(pairs, key = lambda pair: max(pair[0],pair[1]))
print(sorted_pairs)
```

We have a list of tuples and want to sort it in ascending order based on the maximum number in the pair.

### Parameterless lambda function

```
func = lambda : return "String"
print(func())
```

#### Lambda Function without variable name

```
print( (lambda x,y: x+y)(4,5))
```

## Discussion (0)