# Lambda (Anonymous Function) in Python (with Examples)

#### In Python programming language, a lambda function is one-line function declared with no name and can have any number of arguments, but it can only have one expression.

**lambda functions** are capable of doing things similar to a regular function declared using the Python's `def`

keyword.

Since **lambda function is declared with no name** so it is also known as **Anonymous Function**. Other names given to lambda function are **Single Line Function, Single Use Function, Throw Away Function or Lambda Expression**.

## Lambda Function Syntax

```
function_name = lambda parameters : expression
```

## Lambda Example & Comparison With Normal Function

In python, writing

```
square = lambda x: x*x
```

is equivalent to:

```
def square(x):
return x*x
```

## Lambda Function Examples

### Example 1: Lambda Function To Find Square Of A Given Number (Lambda With One Argument)

In this example, `square`

is a lambda function which takes one argument `x` and it returns `x*x`.

```
square = lambda x: x*x
number = int(input('Enter any number: '))
result = square(number)
print('Square of %d is %d' %(number, result))
```

Output

Enter any number: 17 Square of 17 is 289

### Example 2: Lambda Function To Add Two Numbers (Lambda With Two Arguments)

In this example, `add`

is lambda function which takes two arguments `x` and `y` and it returns `x+y`.

```
add = lambda x, y : x + y
number1 = int(input('Enter first number: '))
number2 = int(input('Enter second number: '))
result = add(number1, number2)
print('Sum of %d and %d is %d' %(number1, number2, result))
```

Output

Enter first number: 23 Enter second number: 11 Sum of 23 and 11 is 34

### Example 3: Application of Lambda in Sorting

In python, function `sorted()`

is used to sort any iterable. This function always retuns `list`

.

Without applying **lambda**, let's look at the following code for sorting:

```
# Dictionary ordering of words
words = ['Ball', 'apple', 'cat', 'Ant','dog']
# Applying sorted function
result1 = sorted(words)
print('Result 1:', result1)
```

Output

Result 1: ['Ant', 'Ball', 'apple', 'cat', 'dog']

But, Wait! This is not dictionary sorting as `Ball` comes before `apple` because, `sorted()`

function returns result on the basis of ASCII sorting. But we can modify this using the concept of lambda as follows:

```
# Dictionary ordering of words
words = ['Ball', 'apple', 'cat', 'Ant','dog']
# Applying sorted function and lambda
result2 = sorted(words, key= lambda x: x.upper())
print('Result 1:', result2)
```

Output

Result 2: ['Ant', 'apple', 'Ball', 'cat', 'dog']

In this example no name is assigned to lambda function, that is why we call it **Anonymous Function**.

Here lambda function takes each words in the list as argument and converts them to upper case while comparing.