Chapter 20. Comprehensions and Generations
This chapter continues the advanced function topics theme, with a
reprisal of the comprehension and iteration concepts previewed in Chapter 4 and introduced in Chapter 14. Because
comprehensions are as much related to the prior
chapter’s functional tools (e.g., map
and filter
)
as they are to for
loops, we’ll revisit
them in this context here. We’ll also take a second look at iterables in
order to study generator functions and their
generator expression relatives—user-defined ways to
produce results on demand.
Iteration in Python also encompasses user-defined classes, but we’ll defer that final part of this story until Part VI, when we study operator overloading. As this is the last pass we’ll make over built-in iteration tools, though, we will summarize the various tools we’ve met thus far. The next chapter continues this thread by timing the relative performance of these tools as a larger case study. Before that, though, let’s continue the comprehensions and iterations story, and extend it to include value generators.
List Comprehensions and Functional Tools
As mentioned early in this book, Python supports the procedural, object-oriented, and function programming paradigms. In fact, Python has a host of tools that most would consider functional in nature, which we enumerated in the preceding chapter—closures, generators, lambdas, comprehensions, maps, decorators, function objects, and more. These tools allow us to apply and combine functions ...
Get Learning Python, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.