
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Use of 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.