8.4. Functional Reduce¶
Reduce sequence using function
Built-in
>>> 1 + 2
3
>>> 1 + 2 + 3 + 4
10
8.4.1. SetUp¶
>>> from functools import reduce
8.4.2. Syntax¶
functools.reduce(function, iterable[, initializer])
required
callable
- Functionrequired
iterable
- Sequence or iterator object
8.4.3. Problem¶
>>> def add(x, y):
... return x + y
>>>
>>>
>>> DATA = [1, 2, 3, 4]
>>> result = 0
>>>
>>> for element in DATA:
... result = add(result, element)
>>>
>>> print(result)
10
8.4.4. Solution¶
>>> DATA = [1, 2, 3, 4]
>>>
>>>
>>> def add(x, y):
... return x + y
>>>
>>> reduce(add, DATA)
10
8.4.5. Rationale¶
>>> DATA = [1, 2, 3, 4]
>>>
>>> from operator import mul
>>> reduce(mul, DATA)
24
8.4.6. Use Case - 0x01¶
>>> from functools import reduce
>>>
>>>
>>> DATA = [1, 2, 3, 4]
>>>
>>> reduce(min, DATA)
1
>>> reduce(max, DATA)
4
8.4.7. Map Reduce¶
