Book Image

Python Essentials

By : Steven F. Lott
Book Image

Python Essentials

By: Steven F. Lott

Overview of this book

Table of Contents (22 chapters)
Python Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using the higher-order functions


A function which accepts a function as an argument, or returns a function as a result, is called a higher-order function. Python has a number of higher-order functions. The most commonly-used of these functions are map(), filter(), and sorted(). The itertools module contains numerous additional higher-order functions.

The map() and filter() functions are generators; their results must be consumed. Both of them apply a function to a collection of values. In the case of map(), the results of the function are yielded. In the case of filter(), if the result of the function is true, the original value is yielded.

Here's how we can apply a very simple function—so simple we coded it as a lambda—to a sequence of values:

>>> mapping= map( lambda x: 2*x**2-2, range(5) )
>>> list(mapping)
[-2, 0, 6, 16, 30]

The function is just an expression, 2*x**2-2. We've applied this function to values given by the range() object. The result is a generator, and we...