Welcome to this lesson on combining functions in Python! By now, you should already be familiar with map, filter, reduce, and sorted from our previous lessons. Combining these functions lets you perform powerful data transformations concisely and readably.
By the end of this lesson, you'll understand how to combine multiple higher-order functions to perform complex data processing tasks. Specifically, we'll cover how to:
- Use
map,filter, andreducetogether to perform cumulative operations on filtered data. - Combine
mapandsortedto achieve custom ordering of processed data.
These skills will help you write more efficient and readable code.
Let's solve a simple problem: finding the sum of the squares of even numbers from a list. We'll break this into three steps:
- Filtering the even numbers.
- Squaring these even numbers.
- Summing the squared values.
We'll use Python's filter, map, and reduce functions.
Use the filter function to extract even numbers. filter takes two arguments: a function and an iterable. It only keeps items for which the function returns True.
Example:
Use the map function to square each filtered even number. map also takes two arguments: a function and an iterable.
Example:
Finally, use the reduce function from the functools module to sum the squared values. reduce takes a function and an iterable, and applies the function cumulatively.
Example:
The beauty of functional programming shines when you combine all these steps into one streamlined operation.
This code is concise and efficient. The nested function calls allow you to keep the program short.
Let's sort the squared values of even numbers in descending order. Combine filtering, mapping, and sorting operations.
The sorted function allows custom sorting criteria. To sort in descending order, use the reverse=True parameter.
Example:
Congratulations! You've learned how to combine higher-order functions in Python to perform complex data transformations. Here's a quick summary of what we've covered:
- Combining filter, map, and reduce: We filtered even numbers, squared them, and then summed the squared values.
- Combining with sorting: We sorted the squared even numbers in descending order.
These combinations let you handle diverse data processing tasks efficiently.
Now it's time to apply your knowledge in hands-on exercises. You'll get to combine these functions and tackle various data processing challenges. Happy coding!
