In this article, we will learn the use of map function in Python.
Python’s map() function applies a function to each item in the iterator provided as input. Lists, tuples, sets, dictionaries, or strings can all be used as iterators, and they all return iterable map objects. map() is a built-in function of Python.
map(function, iterator1,iterator2 ...iteratorN)
function - It is necessary to provide a map with a function that will be applied to all available items of the iterator.
iterator - Forces an iterable object. It can be a list, tuple, etc. The map() function accepts multiple iterator objects as parameters.
The map() method applies the specified function to each item in the iterator and produces a tuple, list, or another iterable map object.
Functions and iterable objects are the two inputs of the map() function. The function passed to map() is a normal function that will iterate over each value in the specified iterable object.
The following program uses the map() function in Python Adds 5 to each element in the list -
# 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))
<map object at 0x7fb106076d10> Adding 5 to each element in a list using map(): [8, 10, 6, 11, 15]
Python uses dictionaries to implement the more common associative arrays. A dictionary is a set of key-value pairs. It is defined using curly braces {}.
Dictionaries are dynamic and constantly changing. They can be changed and deleted as needed. Dictionary items can be accessed using keys, but list elements are retrieved by index based on their position in the list, this is how dictionaries differ from lists.
Since a dictionary is an iterator, you can use it inside the map() function.
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))
<map object at 0x7fb1060838d0> Adding 5 to each element in a dictionary using map(): [7, 8, 9, 10, 11, 12, 13, 14]
In Python, a tuple is an object whose elements are separated by commas and enclosed in parentheses.
The following code uses the lower() and map() functions to convert all items in the tuple to lowercase:
# 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))
<map object at 0x7fb10f773590> Converting each item in a tuple to lowercase: ['hello', 'tutorialspoint', 'python', 'codes']
Using map() together with functional tools such as filter() and reduce(), we can perform more complex changes on iterable objects.
In some cases, we have to process the input of an iterable and return another iterable object by removing/filtering unnecessary items from the input. In this case, Python's filter() is a wise choice.
filter()The function returns the iterable input items that satisfy the function return true.
If no function is passed, filter() will use the identity function. This means that filter() checks the true value of each item in the iterable and removes any false values.
The following function uses a combination of filter() and map() functions to filter all positive numbers in the list and return their square roots -
# 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))
[4.0, 25.0, 5.0]
Python’s map() function allows you to perform operations on iterable objects. Map() is typically used to convert and manipulate iterable objects without looping.
In this article, we took several data types as examples and learned how to use the map() method in Python.
The above is the detailed content of What is the use of map function in Python?. For more information, please follow other related articles on the PHP Chinese website!