# Python - Map Function

The `map()` function is a built-in function.

map() Signature:
```map(function, iterable [, iterable2, iterable3,...iterableN]) --> map object
```

The `map()` function calls the specified function for each item of an iterable (such as string, list, tuple or dictionary) and returns a list of results.

Consider the following simple square function.

``````def square(x):
return x*x
``````

Now, we can call the map function with the list of numbers to get the list of results, as shown below.

>>> numbers=[1, 2, 3, 4, 5]
>>> sqrList=map(square, numbers))
>>> next(sqrList)
1
>>> next(sqrList)
4
>>> next(sqrList)
9
>>> next(sqrList)
16
>>> next(sqrList)
25

In the above example, the `map()` function applies to each element in the numbers[] list. This will return a map object which is iterable and so, we can use the `next()` function to traverse the list.

## Map with Lambda Expression

The `map()` function passes each element in the list to the built-in function, a lambda function or a user-defined function, and returns the mapped object. The following `map()` is used with the lambda function.

>>> sqrList = map(lambda x: x*x, [1, 2, 3, 4])
>>> next(sqrList)
1
>>> next(sqrList)
4
>>> next(sqrList)
9
>>> next(sqrList)
16
>>> next(sqrList)
25

## Map with Built-in Function

In the following example, a built-in function pow() is given to map two list objects, one for each base and index parameter. The result is a list containing the power of each number in bases raised to the corresponding number in the index.

>>> bases=[10, 20, 30, 40, 50]
>>> index=[1, 2, 3, 4, 5]
>>> powers=list(map(pow, bases, index))
>>> powers
[10, 400, 27000, 2560000, 312500000]