Python's two built-in higher-order functions,
filter(), generally handle almost everything we might want to throw at them. It's difficult to optimize them in a general way to achieve higher performance. We'll look at functions of Python 3.4, such as
ifilterfalse(), in Chapter 8, The Itertools Module.
We have three largely equivalent ways to express a mapping. Assume that we have some function,
f(x), and some collection of objects,
C. We have three entirely equivalent ways to express a mapping; they are as follows:
(f(x) for x in C)
def mymap(f, C): for x in C: yield f(x) mymap(f, C)
Similarly, we have ...