Summary
In this chapter, we explored the concepts of iteration and generation a bit more deeply. We looked at the map()
, zip()
, and filter()
functions in detail, and learned how to use them as an alternative to a regular for
loop approach.
Then we covered the concept of comprehensions for lists, dictionaries, and sets. We explored their syntax and how to use them as an alternative to both the classic for
loop approach and the use of the map()
, zip()
, and filter()
functions.
Finally, we talked about the concept of generation in two forms: generator functions and expressions. We learned how to save time and space by using generation techniques and saw how they can make possible what wouldn't normally be so if we used a conventional approach based on lists.
We talked about performance, and saw that for
loops come last in terms of speed, but they provide the best readability and flexibility to change. On the other hand, functions such as map()
and filter...