# Python Built-in functions lambda, map, filter, reduce.

#### 1. Lambda

Lambda function is used to create a small anonymous function. Lambda is a powerful python function with some limited capabilities. Lambda function can accept any number of elements as input but only one expression is evaluated and returned.

Why Use Lambda Function?

Lambda function is preffered for writing single line function instead of using normal functions. For writing a normal function we need to use def keyword to define a function and return keyword is used to return value from function.

Lambda function requires a lambda keyword to define a lambda function and don’t need any keyword for return values from lambda functions.

Syntax

For single Input

`lambda <argument>: <Calculation or Evaluation>`

For Multiple Input

`lambda <argument1,argument2,argument3..>: <Calculation or Evaluation>`

Examples

`lambda a : a+10`

Above function accepts onr variable "a" and returns it after adding 10 into it.

`lambda a,b : a+b`

Above function accepts two variables "a" and "b" and return addition of a and b.

Using Normal Function

```# Create a Function To Add 10 To Input Numberdef Add(a):  return a+10  result = Add(5)print(result)

output:15```

Using Lambda Function

```# Create a Lambda FunctionAdd = lambda a : a+10result = Add(5)print(result)

Output:15```

Using Normal Function

```# Create a Function to accept two number and returns additiondef Add(a,b):  return a+b  result = Add(5,6)print(result)

output:11```

Using Lambda Function

```Add = lambda a,b : a+bresult = Add(5,6)print(result)

Output:11```

3. Addition of Two numbers List

```# Define Two Listslst1 = [1,2,3,4]lst2 = [5,6,7,8]

# Use of Multiple Parameter as inputAddition = map(lambda a,b:a+b,lst1,lst2)

print(f" List 1 : {lst1} \n List 2 : {lst2}")

# Convert mapped object to listfinal_result = list(Addition)print(f" Addition of List1 and List2 : {final_result}")

Output: List 1 : [1, 2, 3, 4] List 2 : [5, 6, 7, 8]Addition of List1 and List2 : [6, 8, 10, 12]```

Lambda Function can be used with map, filter, reduce python built-in functions

• map
• filter
• reduce

Note: Lambda Function has some limited capabilities such as only one expression can be evaluated.

#### 2. map

map is used to apply a specific function on every element of an iterable object such as list, tuple, strings etc.

Map returns a mapped object after applying function to every element from iterable object. Map can be used with both normal functions or lambda function.

Syntax

`map(func, *iterables)`

Where
func : Normal function or a Lambda function.
iterbales: Any iterable Object such as list, string, tuple etc.

Examples

We are going to apply map() on multiple examples. And compare examples with both user defined function and a lambda function.

1. Add 5 to every element of list using (user defined function)

```# add 5 to given input elementsdef Add(a):  return a+5  # A Sample listlst = [1,2,3,4]

# Apply Add Function to lst with map()result = list(map(Add,lst))print(f" Result: {result}")

Result: [5,7,8,9]```

Add 5 to every list elements using lambda function.

```# A Sample listlst = [1,2,3,4]

# Apply Add Function to lst with map()result = map(lambda a : a+5,lst)final_result = list(result)print(f"Result: {result}")

output:Result: [6,7,8,9]```

2. Convert a string numbers into int numbers in lst.

```# A Sample strings numbers listlst = ['1','2','3','4']

# Conversion into intresult = map(int,lst)

# Type cast map object to listfinal_result = list(result)

print(f"Int List(After Conversion): {final_result}")

Output:Int List(After Conversion) : [1, 2, 3, 4]```

If we check the datatype of list elements before then after then we get following result.

```# Original List (Datatype)type(lst)<class 'str'>

# Converted List (Datatype)type(final_result)<class 'int'>```

#### 3. Filter

Filter is used to filter out records from an iterable object based on condition evaluated from a function. It function is applicable to every element of an iterable object.

Filter added the element to the final list only if applied function returns True Otherwise that element is excluded.

Syntax

`filter(function or None, iterable)`

Where
function : any user defined normal function or lambda function. iterable : any iterable Object such as list, tuple, strings etc.

Example: 1

Filter Even numbers from given input list using filter.

```# Define a  Listlst = [1,2,3,4,5,6,7,8]

# Filter out odd Numbersodd_numbers = filter(lambda a:a%2!=0,lst)

# Filter out Even Numberseven_numbers = filter(lambda a:a%2==0,lst)

print(f" List : {lst}")

# Convert mapped object to listodd_result = list(odd_numbers)even_result = list(even_numbers)

print(f"Filtered List(Odd) : {odd_result}")print(f"Filtered List(Even) : {even_result}")

Output:List : [1, 2, 3, 4, 5, 6, 7, 8]Filtered List(Odd) : [1, 3, 5, 7]Filtered List(even) : [2, 4, 6, 8]```

Example: 2

Filter Uppercase letters using filter.

```# Define a  stringtext = "PyThOn"

# Filter out Capital Lettersuppercase_alpha = filter(lambda a:a.isupper(),text)

# Convert mapped object to listfinal_result = list(uppercase_alpha)

print(f"text : {text}")print(f"Uppercase Letters : {final_result}")

Output:text : PyThOnUppercase Letters : ['P', 'T', 'O']```

#### 4. Reduce

Reduce function is not a part of python built-in function you need to import it from functools.It is used to reduce an iterable object to a single value by combining elements via a applied function.

Syntax

`from functools import reduceresult = reduce(function, iterable)`

Where
function : Any lambda or normal user defined function.
sequence : any sequence iterable list

Example

```# Define a listlst = [1,2,3,4,5]

# Import reduce from functoolsfrom functools import reduceresult = reduce(lambda a,b :a+b,lst)print(f"Addition of All Elements in List is : {result}")

Output:Addition of All Elements in Lst1 is : 15

# without reduceval = ((((1+2)+3)+4)+5)print(val)15```

Self Practice exercise

1. Write a Program using lambda to calculate square of given user input radius.
2. Write a Program using lambda to multiply three elements.
3. Write a Program For Addition of Following Lists.
Lst1 = [0,1,2]
Lst2 = ["3","4","5"]
4. Write a Program to find out numbers from range(1,121) divisible by 3,
5. Write a Program to calculate sum of odd numbers (1,100)
6. Write a program to convert List element to int
Lst = ["3","4","5"]

If you have any questions or suggestions in the comments section below, follow us on social media for more such articles.

Explore more

Related Blogs
How to extract Speech from Video using Python?
Author: neptune | 22nd-May-2022 | views: 1759

Simple and easy way to convert video into audio then text using Google Speech Recognition API...
Author: neptune | 22nd-May-2022 | views: 1092

We will let you know how you can easily download the Youtube high quality videos along with subtitle, thumbnail, description using python package..
Mostly asked Python Interview Questions - 2022.
Author: neptune | 25th-May-2022 | views: 702

Python interview questions for freshers. These questions asked in 2022 Python interviews...
Python 3.9 new amazing features ?
Author: neptune | 22nd-May-2022 | views: 682

We are going to explore the newest features of Python 3.9 really amazing features here list of some features like Dict union, Type hinting etc. with examples...
Best Python package manager and package for virtual environment ?
Author: neptune | 15th-Apr-2022 | views: 521

Which is the best package manager for python and Virtual environment management using Virtualenv and Anaconda...
Will, AI kills Developer's jobs?
Author: neptune | 22nd-May-2022 | views: 432

GPT-3’s performance has convinced that Artificial intelligence is closer or at least AI-generated code is closer than we think. It generates imaginative, insightful, deep, and even excellent content...
Do you know Jupyter is now full-fledged IDE?
Author: neptune | 15th-Apr-2022 | views: 350

Jupyter is a widely used tool by Data scientists. So developers from institutions like Two Sigma, Bloomberg and fast.ai convert it into IDE lets see..
What exactly you can do with Python?
Author: neptune | 15th-Apr-2022 | views: 317

Well, it's a tricky question to answer because there are lots of application of Python. But, I will tell you about 3 main applications of Python...
How to reverse string in Python ?
Author: neptune | 16th-May-2022 | views: 259

We are going to explore different ways to reverse string in Python...
Deploy Django project on AWS with Apache2 and mod_wsgi module.
Author: neptune | 22nd-May-2022 | views: 139

In this blog I use the AWS Ubuntu 18.22 instance as Hosting platform and used Apache2 server with mod_wsgi for configurations. We create a django sample project then configure server...
Core Python Syllabus for Interviews
Author: neptune | 11th-Jun-2022 | views: 124

STRING MANIPULATION : Introduction to Python String, Accessing Individual Elements, String Operators, String Slices, String Functions and Methods...
Datatypes in Python.
Author: neptune | 22nd-May-2022 | views: 115

Python have different types of datatypes like Numbers, Strings, Lists, Tuples, Dictionary, Set, Frozenset, Bool, Mutable, and Immutable...
Introduction to Apache Spark
Author: neptune | 09th-May-2022 | views: 106

Apache Spark is an open-source, distributed processing system that utilizes in-memory caching and optimized query execution for faster queries...
Input and Output in Python
Author: neptune | 15th-Jun-2022 | views: 50

In this article, we will see how Python take input from user and How it display the output to user. First we cover input then output...