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:
- Python, create a Web (HTTP) server
- Python, the `with` statement
- How to check the current Python version
- Python Loops
- Python Lists
- Python Sets
- Python Lambda Functions
- Python, how to create an empty file
- Python Objects