iterables.drop_take

Module pythonic_fp.iterables.drop_take

pythonic_fp.iterables.drop_take.drop(iterable: Iterable, n: int) Iterator

Drop the next n values from iterable.

Parameters:
  • iterable – iterable whose values are to be dropped

  • n – number of values to be dropped

Returns:

an iterator of the remaining values

pythonic_fp.iterables.drop_take.drop_while(iterable: Iterable, pred: Callable[[D], bool]) Iterator

Drop initial values from iterable while predicate is true.

Parameters:
  • iterable – iterable whose values are to be dropped

  • pred – Boolean valued function, the “predicate”

Returns:

an iterator beginning where pred returned false

pythonic_fp.iterables.drop_take.take(iterable: Iterable, n: int) Iterator

Return an iterator of up to n initial values of an iterable.

Parameters:
  • iterable – iterable providing the values to be taken

  • n – number of values to be dropped

Returns:

an iterator of up to n initial values from iterable

pythonic_fp.iterables.drop_take.take_split(iterable: Iterable, n: int) tuple[Iterator, Iterator]

Same as take except also return iterator of remaining values.

Warning

CONTRACT: Do not access the second returned iterator until the first one is exhausted.

Parameters:
  • iterable – iterable providing the values to be taken

  • n – maximum number of values to be taken

Returns:

an iterator of values taken and an iterator of remaining values

pythonic_fp.iterables.drop_take.take_while(iterable: Iterable, pred: Callable[[D], bool]) Iterator

Yield values from iterable while predicate is true.

Warning

Risk of value loss if iterable is multiple referenced iterator.

Parameters:
  • iterable – iterable providing the values to be taken

  • pred – Boolean valued function, the “predicate”

Returns:

an Iterator of of values from iterable until predicate false

pythonic_fp.iterables.drop_take.take_while_split(iterable: Iterable, pred: Callable[[D], bool]) tuple[Iterator, Iterator]

Yield values from iterable while predicate is true.

Warning

CONTRACT: Do not access the second returned iterator until the first one is exhausted.

Parameters:
  • iterable – iterable providing the values to be taken

  • pred – Boolean valued function

Returns:

tuple containing an iterator of values taken and an iterator of remaining values