blade documentation

blade.xreduce

«  blade.xmath   ::   Contents   ::   blade.xslice  »

blade.xreduce

blade reduction operations

blade.xreduce.xflatten(iterable)

Reduce nested items in iterable to flattened items in iterable.

Parameters:iterableiterable
>>> from blade.xreduce import xflatten
>>> list(xflatten([[1, [2], [3, [[4]]]], 'here']))
[1, 2, 3, 4, 'here']
blade.xreduce.xreduce(iterable, callable, initial=None, invert=False)

Reduce iterable items in iterable down to one items in iterable using callable.

Parameters:
>>> from blade.xreduce import xreduce
>>> # reduce from left side
>>> xreduce([1, 2, 3], lambda x, y: x + y)
6
>>> # reduce from left side with initial value
>>> xreduce([1, 2, 3], lambda x, y: x + y, initial=1)
7
>>> # reduce from right side
>>> xreduce([[0, 1], [2, 3], [4, 5]], lambda x, y: x + y, invert=True)
[4, 5, 2, 3, 0, 1]
>>> # reduce from right side with initial value
>>> xreduce(
...   [[0, 1], [2, 3], [4, 5]], lambda x, y: x + y, [0, 0], invert=True
... )
[4, 5, 2, 3, 0, 1, 0, 0]

«  blade.xmath   ::   Contents   ::   blade.xslice  »