Map takes a function and applies it to every element of the collection. It then returns a new collection.

To get map() to return a list in Python 3.x, you need to cast it with list().

Related course: Complete Machine Learning Course with Python

Map example

The method is roughly:

and in Python 3 its equivalent to:
def map(func, iterable):
for i in iterable:
yield func(i)
so how do you use it?

Given a simple list, we can apply a function to it:

xs= [1,2,3,4,5,6,7,8]

def f(x):
return (x * 2)

ys = list(map(f,xs))

This will output:

python map

You can also use lambda with map:

xs= [1,2,3,4,5,6,7,8]
ys = map(lambda x: x * 2, xs)

which gives us the same output.

Map vs list comprehensions

Map isn’t unique to Python and you can achieve the same with list comprehensions.

map(f, iterable)
can be written as:
[f(x) for x in iterable]
In most of the cases you want to use list comprehensions, because other software developers will easily read your code.

If you want to compare speed, open the terminal and write:

$ python -mtimeit -s'x1=range(100)' '[hex(x) for x in x1]'
$ python -mtimeit -s'x1=range(100)' 'map(hex, x1)'

If you are a Python beginner, then I highly recommend this book.

Download exercises