Open In App

Python map() function

Last Updated : 23 Oct, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

The map() function is used to apply a given function to every item of an iterable, such as a list or tuple, and returns a map object (which is an iterator).

Let’s start with a simple example of using map() to convert a list of strings into a list of integers.

Python
s = ['1', '2', '3', '4']
res = map(int, s)
print(list(res))

Output
[1, 2, 3, 4]

Explanation: Here, we used the built-in int function to convert each string in the list s into an integer. The map() function takes care of applying int() to every element

Syntax of the map() function

The syntax for the map() function is as follows:

map(function, iterable)

Parameter:

  • function: The function we want to apply to every element of the iterable.
  • iterable: The iterable whose elements we want to process.

Note: We can also pass multiple iterables if our function accepts multiple arguments.

Converting map object to a list

By default, the map() function returns a map object, which is an iterator. In many cases, we will need to convert this iterator to a list to work with the results directly.

Example: Let’s see how to double each elements of the given list.

Python
a = [1, 2, 3, 4]

# Using custom function in "function" parameter
# This function is simply doubles the provided number
def double(val):
  return val*2

res = list(map(double, a))
print(res)

Output
[2, 4, 6, 8]

Explanation:

  • The map() function returned an iterator, which we then converted into a list using list(). This is a common practice when working with map()
  • We used a custom function to double each value in the list a. The result was mapped and converted into a list for easy display.

map() with lambda

We can use a lambda function instead of a custom function with map() to make the code shorter and easier. Let’s see how to improve the above code for better readability.

Python
a = [1, 2, 3, 4]

# Using lambda function in "function" parameter
# to double each number in the list
res = list(map(lambda x: x * 2, a))
print(res)

Output
[2, 4, 6, 8]

Explanation: We used lambda x: x * 2 to double each value in the list a. The result was mapped and converted into a list for easy display.

Using map() with multiple iterables

We can use map() with multiple iterables if the function we are applying takes more than one argument.

Example: In this example, map() takes two iterables (a and b) and applies the lambda function to add corresponding elements from both lists.

Python
a = [1, 2, 3]
b = [4, 5, 6]
res = map(lambda x, y: x + y, a, b)
print(list(res))

Output
[5, 7, 9]

Examples of map() function

Converting to uppercase

This example shows how we can use map() to convert a list of strings to uppercase.

Python
fruits = ['apple', 'banana', 'cherry']
res = map(str.upper, fruits)
print(list(res))

Output
['APPLE', 'BANANA', 'CHERRY']

Explanation: The str.upper method is applied to each element in the list fruits using map(). The result is a list of uppercase versions of each fruit name.

Extracting first character from strings

In this example, we use map() to extract the first character from each string in a list.

Python
words = ['apple', 'banana', 'cherry']
res = map(lambda s: s[0], words)
print(list(res))

Output
['a', 'b', 'c']

Explanation: The lambda function s: s[0] extracts the first character from each string in the list words. map() applies this lambda function to every element, resulting in a list of the first characters of each word.

Removing whitespaces from strings

In this example, We can use map() to remove leading and trailing whitespaces from each string in a list.

Python
s = ['  hello  ', '  world ', ' python  ']
res = map(str.strip, s)
print(list(res))

Output
['hello', 'world', 'python']

Explanation: The str.strip method removes leading and trailing whitespaces from each string in the list strings. The map() function applies str.strip to each element and returning a list of trimmed strings.

Calculate fahrenheit from celsius

In this example, we use map() to convert a list of temperatures from Celsius to Fahrenheit.

Python
celsius = [0, 20, 37, 100]
fahrenheit = map(lambda c: (c * 9/5) + 32, celsius)
print(list(fahrenheit))

Output
[32.0, 68.0, 98.6, 212.0]

Explanation: The lambda function c: (c * 9/5) + 32 converts each Celsius temperature to Fahrenheit using the standard formula. The map() function applies this transformation to all items in the list celsius.



Next Article
Practice Tags :

Similar Reads

three90RightbarBannerImg
  翻译: