August 2018
Intermediate to advanced
366 pages
10h 14m
English
accumulate and reduce are not limited to mathematical uses. While those are the most obvious examples, they are very flexible functions and their purpose changes depending uniquely on the function they are going to apply.
For example, if you have multiple lines of text, you can also use reduce to compute the total sum of all text:
>>> lines = ['this is the first line', ... 'then there is one more', ... 'and finally the last one.'] >>> functools.reduce(lambda x, y: x + len(y), [0] + lines) 69
Or, if you have multiple dictionaries you need to collapse:
>>> dicts = [dict(name='Alessandro'), dict(surname='Molina'), ... dict(country='Italy')] >>> functools.reduce(lambda d1, d2: {**d1, **d2}, dicts) {'name': 'Alessandro', 'surname': ...