GeeksforGeeks App
Open App
Browser
Continue

# 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)`

for loop in Python :

• We use for loop to repeat a block of code for fixed number of times .
• 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 .

Example:

## Python

 `# 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)`

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:

## Python

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

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 :

## Python

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

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.

Let us see the differences in a tabular form -:

My Personal Notes arrow_drop_up