Comprehensions, iterables, and generators

The abstract notion of a sequence of objects is ubiquitous in programming. It can be used to model such widely different concepts as simple strings, lists of complex objects, and indefinitely long sensor output streams. It probably won't surprise you to learn that Python includes some very powerful and elegant tools for working with sequences. In fact, Python's support for creating and manipulating sequences is one of the highlights of the language for many people.

In this chapter we'll look at three key tools that Python provides for working with sequences: Comprehensions, iterables, and generators. Comprehensions comprise a dedicated syntax for creating various types of sequences declaratively. Iterables and the iteration protocols form the core abstraction and API for sequences and iteration in Python; they allow you define new sequence types and exert fine-grained control over iteration. Finally, generators allow us to define lazy sequences imperatively, a surprisingly powerful technique in many circumstances.

Let's jump right in to comprehensions.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset