Python: Map VS For Loop

Map in Python :

  • Map is used to compute a function for different values ‘in a single line of code ‘ .
  • It takes two arguments, first is function name, that is defined already and the other is list, tuple or any other iterables .
  • It is a way of applying same function for multiple numbers .
  • It generates a map object at a particular location .
  • It works fast when we call an already defined function on the elements
  •  map(functionname, iterable)

Note: For more information refer to Python map() function.

for loop in Python :

  • We use for loop to repeat a block of code for fixed number of times .
  • Used when no results are required .
  • To perform sequential traversal .
  • Loop from 0 to n runs n+1 times .
  •  for var in iterable :
                   statements 

    Note: Here, var is the name given to iterating variable, iterable can be replaced by range() function and they can be of any data type . Statements are the step of actions to be performed .

Note: For more information, refer to Python For Loops.

Example:



filter_none

edit
close

play_arrow

link
brightness_4
code

# function to square a given number
def squareNum (a) :
    return a * a
  
  
listt = [0, -1, 3, 4.5, 99, .08]
  
# using 'map' to call the function
# 'squareNum' for all the elements
# of 'listt'
x = map(squareNum, listt)
  
# map function returns a map
# object at this particular 
# location
print(x) 
  
# convert map to list
print(list(x)) 
  
  
# alternate way to square all
# elements of 'listt' using
# 'for loop'
  
for i in listt :
    square = i * i
    print(square)

chevron_right


Output:

<map object at 0x7fe413cf9b00>
[0, 1, 9, 20.25, 9801, 0.0064]
0
1
9
20.25
9801
0.0064

Map vs for loop

  1. Comparing performance , map() wins! map() works way faster than for loop. Considering the same code above when run in this ide.

    Using map():

    using for loop:

  2. for loop can be with no content, no such concept exist in map() function.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # we use the keyword 'pass'
    # to simply get a for loop 
    # with no content
    for i in range (10) :
        pass

    chevron_right

    
    

  3. There can be an else condition in for loop which only runs when no break statement is used. There is nothing like this in map.

    Example :

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # for loop with else condition
      
    for i in range(10) :
        print(i)
    else
        print("Finished !")

    chevron_right

    
    

    Output :

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Finished !
    
  4. for loop can exit before too. We can do that using break statement. Exiting before expected is not possible in map.
  5. map generates a map object, for loop does not return anything.
  6. syntax of map and for loop are completely different.
  7. for loop is for executing the same block of code for a fixed number of times, the map also does that but in a single line of code.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.