jam.types.base.sequences.base module
- class jam.types.base.sequences.base.BaseSequence(initial: Sequence[T] = [], codec: Codec | None = None)[source]
Bases:
Codable[Sequence[T]],Sequence[T],JsonSerde,Generic[T]Base class for sequence types.
Provides common functionality for sequence types that support codec operations. All elements must be instances of the same Codable type.
- __init__(initial: Sequence[T] = [], codec: Codec | None = None)[source]
Initialize sequence.
- Parameters:
initial – Initial values
codec – Optional codec
- _validate_value(value: T) None[source]
Validate that a value is of the correct type.
- Parameters:
value – Value to validate
- Raises:
TypeError – If value is not of the correct type
- append(value: T) None[source]
Append value to end of vector.
- Parameters:
value – Value to append. Must be instance of the same type as other elements.
- Raises:
TypeError – If value is not of the correct type
- pop(index: int = -1) T[source]
Remove and return item at index.
- Parameters:
index – Index of item to remove
- Returns:
Removed item
- Raises:
IndexError – If index out of range
- insert(index: int, value: T) None[source]
Insert value at index.
- Parameters:
index – Index to insert at
value – Value to insert. Must be instance of the same type as other elements.
- Raises:
TypeError – If value is not of the correct type
- remove(value: T) None[source]
Remove first occurrence of value.
- Parameters:
value – Value to remove
- Raises:
ValueError – If value not found
- count(value: T) int[source]
Return number of occurrences of value.
- Parameters:
value – Value to count
- Returns:
Number of occurrences
- index(value: T, start: int = 0, stop: int | None = None) int[source]
Return first index of value.
- Parameters:
value – Value to find
start – Start index for search
stop – Stop index for search
- Returns:
Index of value
- Raises:
ValueError – If value not found
- reverse() BaseSequence[T][source]
Reverse the vector in place.
- extend(values: Sequence[T]) None[source]
Extend vector with values.
- Parameters:
values – Values to add. Must all be instances of the same type as existing elements.
- Raises:
TypeError – If values are not all of the correct type
- __add__(other: BaseSequence[T] | Sequence[T]) BaseSequence[T][source]
Add two sequences together, returning a new sequence.
- __iadd__(other: BaseSequence[T] | Sequence[T]) BaseSequence[T][source]
In-place addition of sequences.
- __mul__(n: int) BaseSequence[T][source]
Multiply sequence by an integer, returning a new sequence.
- __imul__(n: int) BaseSequence[T][source]
In-place multiplication of sequence.
- copy() BaseSequence[T][source]
Return a shallow copy of the sequence.
- sort(*, key=None, reverse=False) None[source]
Sort the sequence in place.
- Parameters:
key – Function of one argument that is used to extract a comparison key
reverse – If True, sort in descending order
- __rmul__(n: int) BaseSequence[T][source]
Right multiplication (n * sequence).
- classmethod from_json(data: Any) BaseSequence[T][source]
Deserialize from JSON.