nrel.hive.util.tuple_ops

Module Contents

Classes

TupleOps

class nrel.hive.util.tuple_ops.TupleOps[source]
T
classmethod is_empty(xs: Tuple[T, Ellipsis]) bool[source]
classmethod non_empty(xs: Tuple[T, Ellipsis]) bool[source]
classmethod remove(xs: Tuple[T, Ellipsis], value: T) Tuple[T, Ellipsis][source]
classmethod head(xs: Tuple[T, Ellipsis]) T[source]
classmethod head_optional(xs: Tuple[T, Ellipsis]) T | None[source]
classmethod last(xs: Tuple[T, Ellipsis]) T[source]
classmethod last_optional(xs: Tuple[T, Ellipsis]) T | None[source]
classmethod head_tail(tup: Tuple[T, Ellipsis]) Tuple[T, Tuple[T, Ellipsis]][source]
classmethod tail(tup: Tuple[T, Ellipsis]) Tuple[T, Ellipsis][source]
classmethod partition(predicate: Callable[[T], bool], t: Tuple[T, Ellipsis]) Tuple[Tuple[T, Ellipsis], Tuple[T, Ellipsis]][source]

partitions a tuple into two tuples where members of the first tuple match the case where the provided predicate is True

taken from https://docs.python.org/3/library/itertools.html (but result tuples reversed for readability)

Parameters:
  • predicate – tests membership in result tuples

  • t – the source tuple

Returns:

classmethod flatten(nested_tuple: Tuple[Tuple[T, Ellipsis], Ellipsis]) Tuple[T, Ellipsis][source]

flattens a tuple of tuples

taken from https://stackoverflow.com/a/10636583/11087167

Parameters:

nested_tuple – tuple to flatten

Returns:

flattened tuple

classmethod prepend(x: T, xs: Tuple[T, Ellipsis]) Tuple[T, Ellipsis][source]

prepends an element to a tuple