Different Usage of Python map() Function

Ayushi Trivedi Last Updated : 05 Jun, 2024
4 min read

Introduction

In this article, we will delve into the map function in Python, a powerful tool for applying functions to iterable data structures. We’ll start with its basic usage and syntax, followed by using lambda functions for concise operations. Next, we’ll explore how to apply functions to multiple iterables simultaneously, handle different length iterables, and convert the resulting map object to other data types like lists, tuples, and sets. Additionally, we will discuss performance considerations and best practices for using map effectively. By the end, you’ll have a comprehensive understanding of how to leverage map for efficient and readable code.

Learning Outcomes

  • Recognize how to apply a function to every element in an iterable by using the map() method.
  • Learn to use map() with lambda functions for concise and inline operations.
  • Explore the usage of map() with multiple iterables to apply functions to corresponding elements.
  • Discover how to apply the map() function to dictionaries and modify their values.
  • Utilize map() for string operations, including conditional logic and transformation.
  • Gain insight into the performance considerations and best practices for using the map() function efficiently.
Python map() Function

Understanding map() Function in Python

An iterator containing the results is returned by the built-in Python function map, which applies a specified function to each member in an input list (or any other iterable). It’s a handy tool for working with lists and other iterables without having to create explicit loops.

Syntax

map(function, iterable, ...)
  • function: A function that will be used on the iterable’s elements.
  • iterable: One or more iterables, each of which the function will receive its items from.

Basic Usage of map() Function

Let us explore the basic usage of map() function. This example demonstrates using the map() function to double each number in a list.

# Function to double the input
def double(n):
    return n * 2

# List of numbers
numbers = [1, 2, 3, 4]

# Applying map
result = map(double, numbers)

# Converting to list
print(list(result))

Output:

[2, 4, 6, 8]

Using map() with Lambda Expressions

The map function can also be used with lambda functions, which are small anonymous functions that can be defined inline. Here is an example:

# List of numbers
numbers = [1, 2, 3, 4]
# Applying map with lambda
result = map(lambda x: x * 2, numbers)
# Converting to list
print(list(result))

Output:

[2, 4, 6, 8]

Using map() Function Multiple Iterables

The map function can also be used with multiple iterables. In this case, the function is applied to the corresponding elements of each iterable.

Use map() with a lambda function to add corresponding elements of two lists. Here’s an example:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
summed_lists = list(map(lambda x, y: x + y, list1, list2))
print(summed_lists)  # Output: [5, 7, 9]

As an example, the relevant elements of lists 1 and 2 are subjected to the lambda function x + y. The output is gathered in the summed_lists list.

Using map() Function with Dictionary

The map function can also be used with dictionaries. Here’s an example:

dict = {'a': 1, 'b': 2, 'c': 3}
squared_values = list(map(lambda x: x ** 2, dict.values()))
print(squared_values)

Output:

[1, 4, 9]

Using map() Function for Modifying Strings

The built-in Python function map() returns a list of the functions that are applied to each item in an iterable. In this example, a list of characters is created from each string in a list of strings using the map() technique.

Here is an example of using the map() function to calculate the length of each string in a list:

List of strings
strings = ['hello', 'world', 'python', 'programming']

Calculating the length of each string using map() and len function
result = list(map(len, strings))

Printing the result
print(result)

Output:

[5, 5, 6, 10]

In this code, the map() function applies the len function to each string in the list, calculating its length. The resulting list of lengths is stored in the result variable and printed using the print() function.

Conditional Logic with map()

Each entry in a list is subjected to conditional logic by the map() method, such as double_even(), which doubles even values while keeping odd numbers unaltered. This produces a new list where the odd numbers remain the same and the even numbers are doubled.

def uppercase_if_vowel(string):
vowels = ['a', 'e', 'i', 'o', 'u']
if string[0].lower() in vowels:
return string.upper()
else:
return string

List of strings
strings = ['apple', 'banana', 'cherry', 'date', 'elderberry']

Applying map
result = map(uppercase_if_vowel, strings)

Converting to list
print(list(result))

Output:

['APPLE', 'banana', 'CHERRY', 'date', 'ELDERBERRY']

The uppercase_if_vowel() method in this code is defined to change strings to uppercase if they begin with a vowel. This logic is applied to each string in the list strings by the map() function, which creates a new list with the strings that begin with a vowel transformed to uppercase and the remainder strings left unaltered.

Complexity Analysis

Lets us discuss the complexity analysis of map() function.

  • Time Complexity: O(n), where n is the number of elements in the input iterable(s).
  • Auxiliary Space: O(n), where n is the number of elements in the input iterable(s).

Conclusion

You can apply a function to each item in an iterable with Python’s powerful map function. Web creation, scientific computing, and data processing all make extensive use of it. Multiple iterables, dictionaries, lambda functions, and other data structures can all be utilized with the map function. It is a crucial tool for any Python programmer and is widely included in a variety of frameworks and packages. In this article we explored Python map() Function

Don’t miss this chance to improve your skills and advance your career. Learn Python with us! This course is suitable for all levels.

Frequently Asked Questions

Q1. What does the map() function do in Python?

A. The map() function applies a specified function to each item in an iterable (like a list) and returns an iterator with the results.

Q2. How do you use the map() function with a user-defined function?

A. You pass the function and the iterable to map(). The function is applied to each item in the iterable.

Q3. Can map() be used with lambda functions?

A. Yes, map() works well with lambda functions, allowing for concise, inline operations.

Q4. Is map() suitable for large datasets?

A. Yes, map() is efficient for large datasets due to its linear time complexity and ability to handle large inputs effectively.

My name is Ayushi Trivedi. I am a B. Tech graduate. I have 3 years of experience working as an educator and content editor. I have worked with various python libraries, like numpy, pandas, seaborn, matplotlib, scikit, imblearn, linear regression and many more. I am also an author. My first book named #turning25 has been published and is available on amazon and flipkart. Here, I am technical content editor at Analytics Vidhya. I feel proud and happy to be AVian. I have a great team to work with. I love building the bridge between the technology and the learner.

Responses From Readers

Clear

We use cookies essential for this site to function well. Please click to help us improve its usefulness with additional cookies. Learn about our use of cookies in our Privacy Policy & Cookies Policy.

Show details