Tips for program optimization
Next, let's take a look at some generic tips to optimize your programs.
Using filter and map
Python provides two built-in functions, named filter
and map
, to manipulate collections directly rather than having to iterate over each item in the collection. The filter
, map
, and reduce
functions are faster than loops because a lot of the work is done by the underlying code written in C.
The filter(function, list)
function returns a list (iterators in Python 3.x) that contains all the items for which the function returns a true value. The following command is an example:
print filter(lambda num: num>6, range(1,10))# prints [7, 8,9]
This is faster than running a conditional if-then check against the list.
The map(function_name, list)
function applies function_name
to each item in the list and returns the values in a new list (returns iterators instead of lists in Python 3.x). The following command is an example:
print map(lambda num: num+5, range(1,5)) #prints [6, 7, 8...