A chapter about iterables, iterators, conditional logic, and looping wouldn't be complete without a few words about the itertools module. If you are into iterating, this is a kind of heaven.
According to the Python official documentation (https://docs.python.org/2/library/itertools.html), the itertools module is:
This module which implements a number of iterator building blocks inspired by constructs from APL, Haskell, and SML. Each has been recast in a form suitable for Python. The module standardizes a core set of fast, memory efficient tools that are useful by themselves or in combination. Together, they form an “iterator algebra” making it possible to construct specialized tools succinctly and efficiently in pure Python.
By no means do I have the room here to show you all the goodies you can find in this module, so I...