Functional Python Programming

(Wang) #1

Working with Collections


Summary


In this chapter, we saw detailed ways to use a number of built-in reductions.


We've used any() and all() to do essential logic processing. These are tidy
examples of reductions using a simple operator such as or or and.


We've also looked at numeric reductions such as len() and sum(). We've applied
these functions to create some higher-order statistical processing. We'll return to
these reductions in Chapter 6, Recursions and Reductions.


We've also looked at some of the built-in mappings.


The zip() function merges multiple sequences. This leads us to look at using this
in the context of structuring and flattening more complex data structures. As we'll
see in examples in later chapters, nested data is helpful in some situations and flat
data is helpful in others.


The enumerate() function maps an iterable to a sequence of two tuples. Each two
tuple has (0) as the sequence number and (1) as the original item.


The reversed() function iterates over the items in a sequence object with their
original order reversed. Some algorithms are more efficient at producing results
in one order, but we'd like to present these results in the opposite order.


In the next chapter, we'll look at the mapping and reduction functions that use an
additional function as an argument to customize their processing. Functions that
accept a function as an argument are our first examples of higher-order functions.
We'll also touch on functions that return functions as a result.

Free download pdf