What is the use of the map function in Python?


In this article, we will learn the uses of the map function in Python.

What is a map() Function?

Python's map() function applies a function to each item in an iterator that is provided as input. A list, tuple, set, dictionary or string can all be used as iterators, and they all return iterable map objects. Map() is a built-in Python function.

Syntax

map(function, iterator1,iterator2 ...iteratorN)

Parameters

  • function − It is necessary to provide a map with a function that will be applied to all of the iterator's available items.

  • iterator − a mandatory iterable object. It could be a list, tuple, etc. The map() function accepts multiple iterator objects as arguments.

Return Value

The map() method will apply the specified function to each item in the iterator and produce a tuple, list, or another iterable map object.

How map() Function Works?

The function and iterable object are the two inputs for the map() function. The function passed to map() is a normal function, and it will loop through each value in the specified iterable object.

Using a map() with a list of Numbers

Example

The following program adds 5 to each element in a list using the map() function in Python −

# creating a function that accepts the number as an argument
def exampleMapFunction(num):
   # adding 5 to each number in a list and returning it
   return num+5
 
# input list
inputList = [3, 5, 1, 6, 10]
 
# Passing above defined exampleMapFunction function
# and given list to the map() function
# Here it adds 5 to every element of the given list 
modifiedList = map(exampleMapFunction, inputList)
# printing the modifies list(map object)
print(modifiedList)
# converting the map object to the list and printing it 
print("Adding 5 to each element in a list using map():\n", list(modifiedList))

Output

<map object at 0x7fb106076d10>
Adding 5 to each element in a list using map():
 [8, 10, 6, 11, 15]

Using map() with Dictionary

Python uses dictionaries to implement what is more commonly referred to as an associative array. A dictionary is a collection of key-value pairs. It is defined using the curly brackets ().

Dictionaries are dynamic and changing. They can be changed and removed as required. Dictionary items are accessible using keys, but list elements are retrieved by their position in the list via indexing, which is how dictionaries vary from lists.

Since the dictionary is an iterator, you can utilize it inside of the map() function.

Example

The following program adds 5 to each element in a dictionary using the map() function in Python −

# creating a function that accepts the number as an argument
def exampleMapFunction(num):
   # adding 5 to each number in a dictionary and returning it
   return num + 5
 
# input Dictionary
inputDictionary = {2, 3, 4, 5, 6, 7, 8, 9}
 
# passing above defined exampleMapFunction function
# and input dictionary to the map() function
# Here it adds 5 to every element of the given dictionary 
modifiedDict = map(exampleMapFunction, inputDictionary)
# printing the modified dictionary(map object)
print(modifiedDict)
# converting the map object to the list and printing it
print("Adding 5 to each element in a dictionary using map():\n", list(modifiedDict))

Output

<map object at 0x7fb1060838d0>
Adding 5 to each element in a dictionary using map():
 [7, 8, 9, 10, 11, 12, 13, 14]

Using map() with Tuple

In Python, a tuple is an object with elements separated by commas and enclosed in round brackets.

Example

The following code converts all the items in a tuple to lowercase using the lower() and map() functions −

# creating a function that accepts the number as an argument
def exampleMapFunction(i):
   # converting each item in tuple into lower case
   return i.lower()
 
# input tuple
inputTuple = ('HELLO', 'TUTORIALSPOINT', 'pyTHON', 'CODES')
 
# passing above defined exampleMapFunction function
# and input tuple to the map() function
# Here it converts every element of the tuple to lower case 
modifiedTuple = map(exampleMapFunction, inputTuple)
# printing the modified tuple(map object)
print(modifiedTuple)
 
print('Converting each item in a tuple to lowercase:')
# converting the map object to the list and printing it
print(list(modifiedTuple))

Output

<map object at 0x7fb10f773590>
Converting each item in a tuple to lowercase:
['hello', 'tutorialspoint', 'python', 'codes']

Using map() in Python with Other Functional Tools

Using map() along with functional tools like filter() and reduce(), we can execute more complicated changes on iterables.

Using map() with filter()

In some cases, we must process an iterable input and return another iterable by removing/filtering unnecessary items from the input. In this case, Python's filter() is a wise option.

The filter() function returns the iterable input items for which the function returns true.

If no function is passed, the identity function is used by filter(). This indicates that filter() checks each item in iterable for its true value and removes all false values.

Example

The following function filters all the positive numbers from the list and returns the square root of them using the filter() and map() function together −

# importing math module
import math 
 
# creating a function that returns whether the number 
# passed is a positive number or not 
def isPositive(n): 
   return n >= 0 
 
# creating a function that filters all the positive numbers
# from the list and returns the square root of them. 
def filterSqrtofPositive(nums): 
   # filtering all the positive numbers from the list using filter()
   # and returning the square root of them using the math.sqrt and map()  
   filteredItems = map(math.sqrt, filter(isPositive, nums)) 
   # returning the list of filetred elements
   return list(filteredItems) 
 
# input list
inputList= [16, -10, 625, 25, -50, -25]
# calling the function by passing the input list 
print(filterSqrtofPositive(inputList))

Output

[4.0, 25.0, 5.0]

Conclusion

Python's map() function allows you to perform operations on iterables. Map() is commonly used to transform and process iterables without the need for a loop.

In this article, we learned how to use the map() method in Python by using several data types as examples.

Updated on: 31-Jan-2023

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements