merging¶
Merging iterables
Functions to merge multiple iterables together into one.
- class pythonic_fp.iterables.merging.MergeEnum¶
Bases:
EnumIterable Blending Enums.
MergeEnum.Concat: Concatenate first to last
MergeEnum.Merge: Merge until one is exhausted
MergeEnum.Exhaust: Merge until all are exhausted
- pythonic_fp.iterables.merging.concat(*iterables: Iterable) Iterator¶
concatenate iterables
Sequentially concatenate multiple iterables.
- param iterables:
Iterables to concatenate.
- yields:
The concatenated items from all the iterables.
Warning
An infinite iterable will prevent subsequent iterables from yielding any items.
Note
Performant to the standard library’s
itertools.chain.
- pythonic_fp.iterables.merging.merge(*iterables: Iterable, yield_partials: bool = False) Iterator¶
merge iterables
Merge multiple iterables until one is exhausted.
- param iterables:
Iterables to merge until one gets exhausted.
- param yield_partials:
Yield any unpaired yielded items from other iterables.
- yields:
Merged items from the iterables until one of the iterables is exhausted.
Note
When
yield_partialsis true, then any unmatched items from other iterables already yielded when the first iterable is exhausted are yielded.This prevents data lose if any of the iterables are iterators with external references.
- pythonic_fp.iterables.merging.exhaust(*iterables: Iterable) Iterator¶
exhaustively merge iterables
Merge multiple iterables until all are exhausted.
- param iterables:
Iterables to exhaustively merge.
- yields:
Merged items from the iterables until all of the iterables are exhausted.
- pythonic_fp.iterables.merging.blend(*iterables: Iterable, merge_enum: MergeEnum = MergeEnum.Concat, yield_partials: bool = False) Iterator¶
merge iterables
Merge behavior based on value of merge_enum parameter.
- param iterables:
Iterables to blend together.
- param merge_enum:
MergeEnumto determine merging behavior.- param yield_partials:
Yield unpaired items from other iterables.
- yields:
Items from all iterables blended together.
- raises ValueError:
When an unknown
MergeEnumis given.