Seq Helpers¶
-
basic_utils.seq_helpers.first(seq)[source]¶ Returns first element in a sequence.
>>> first([1, 2, 3]) 1
Return type: Any
-
basic_utils.seq_helpers.last(seq)[source]¶ Returns the last item in a Sequence
>>> last([1, 2, 3]) 3
Return type: Any
-
basic_utils.seq_helpers.butlast(seq)[source]¶ Returns all but the last item in sequence
>>> butlast([1, 2, 3]) [1, 2]
Return type: Sequence[+T_co]
-
basic_utils.seq_helpers.rest(seq)[source]¶ Returns remaining elements in a sequence
>>> rest([1, 2, 3]) [2, 3]
Return type: Any
-
basic_utils.seq_helpers.reverse(seq)[source]¶ Returns sequence in reverse order
>>> reverse([1, 2, 3]) [3, 2, 1]
Return type: Sequence[+T_co]
-
basic_utils.seq_helpers.cons(item, seq)[source]¶ Adds item to beginning of sequence.
>>> list(cons(1, [2, 3])) [1, 2, 3]
Return type: chain
-
basic_utils.seq_helpers.flatten(seq)[source]¶ Returns a flatten version of sequence.
>>> flatten([1, [2, [3, [4, 5], 6], 7]]) [1, 2, 3, 4, 5, 6, 7]
Return type: Iterable[+T_co]
-
basic_utils.seq_helpers.partial_flatten(seq)[source]¶ Returns partially flattened version of sequence.
>>> partial_flatten(((1,), [2, 3], (4, [5, 6]))) (1, 2, 3, 4, [5, 6])
Return type: Iterable[+T_co]
-
basic_utils.seq_helpers.sorted_index(seq, item, key=None)[source]¶ >>> sorted_index([10, 20, 30, 40, 50], 35) 3
Return type: int
-
basic_utils.seq_helpers.dedupe(seq, key=None)[source]¶ Removes duplicates from a sequence while maintaining order
>>> dedupe([1, 5, 2, 1, 9, 1, 5, 10]) [1, 5, 2, 9, 10]
Return type: Iterable[+T_co]
-
basic_utils.seq_helpers.concat(seqX, seqY)[source]¶ Joins two sequences together, returning a single combined sequence. Preserves the type of passed arguments.
>>> concat((1, 2, 3), (4, 5, 6)) (1, 2, 3, 4, 5, 6)
Return type: Sequence[+T_co]
-
basic_utils.seq_helpers.take(n, iterable)[source]¶ Return first n items of the iterable as a list.
>>> take(2, range(1, 10)) [1, 2]
Return type: Iterable[+T_co]
-
basic_utils.seq_helpers.nth(iterable, n, default=None)[source]¶ Returns the nth item or a default value.
>>> nth([1, 2, 3], 1) 2
Return type: Any
-
basic_utils.seq_helpers.all_equal(iterable)[source]¶ Returns True if all the elements are equal to each other.
>>> all_equal([True, True]) True
Return type: bool
-
basic_utils.seq_helpers.quantify(iterable, pred=<class 'bool'>)[source]¶ Returns count of how many times the predicate is true.
>>> quantify([True, False, True]) 2
Return type: int
-
basic_utils.seq_helpers.head(seq)¶ Returns first element in a sequence.
>>> first([1, 2, 3]) 1
Return type: Any
-
basic_utils.seq_helpers.tail(seq)¶ Returns remaining elements in a sequence
>>> rest([1, 2, 3]) [2, 3]
Return type: Any
-
basic_utils.seq_helpers.init(seq)¶ Returns all but the last item in sequence
>>> butlast([1, 2, 3]) [1, 2]
Return type: Sequence[+T_co]