Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Modern Python Standard Library Cookbook

You're reading from   Modern Python Standard Library Cookbook Over 100 recipes to fully leverage the features of the standard library in Python

Arrow left icon
Product type Paperback
Published in Aug 2018
Publisher Packt
ISBN-13 9781788830829
Length 366 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Alessandro Molina Alessandro Molina
Author Profile Icon Alessandro Molina
Alessandro Molina
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

Preface 1. Containers and Data Structures 2. Text Management FREE CHAPTER 3. Command Line 4. Filesystem and Directories 5. Date and Time 6. Read/Write Data 7. Algorithms 8. Cryptography 9. Concurrency 10. Networking 11. Web Development 12. Multimedia 13. Graphical User Interfaces 14. Development Tools 15. Other Books You May Enjoy

Accumulating and reducing


List comprehensions and map are very convenient tools when you need to apply a function to all elements of an iterable and get back the resulting values. But those are mostly meant to apply unary functions and keep a collection of the transformed values (such as add 1 to all numbers), but if you want to apply functions that should receive more than one element at the time, they don't fit very well.

The reduction and accumulation functions instead are meant to receive multiple values from the iterable and return a single value (in the case of reduction) or multiple values (in the case of accumulation).

How to do it...

The steps for this recipe are as follows:

  1. The most simple example of reduction is summing all items in an iterable:
>>> values = [ 1, 2, 3, 4, 5 ]
  1. This is something that can easily be done by sum, but for the sake of this example, we will use reduce:
>>> import functools, operator
>>> functools.reduce(operator.add, values)
15
  1. If instead...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime