Python provides 3 useful global functions we can use to work with collections: map(), filter() and reduce().

Tip: sometimes list comprehensions make more sense and are generally considered more pythonic

map() is used to run a function upon each item in an iterable item like a list, and create a new list with the same number of items, but the values of each item can be changed.

Example of map() being used to double each item in a list:

numbers = [1, 2, 3]

def double(a):
    return a * 2

result = map(double, numbers)

When the function is a one-liner, it’s common to use a lambda function:

numbers = [1, 2, 3]

double = lambda a : a * 2

result = map(double, numbers)

and even inline it:

numbers = [1, 2, 3]

result = map(lambda a : a * 2, numbers)

The original list is left untouched, and a new list with the updated values is returned by map().

The result is a map object, an iterable, and you will need to cast it to a list to print its content:

print(list(result)) # [2, 4, 6]

Download my free Python Handbook


More python tutorials: