Skip to content

SortedItemsView

Bases: BaseSortedView[_K_co, _V_co], PyoItemsView[_K_co, _V_co], PyoSequence[tuple[_K_co, _V_co]], Generic[_K_co, _V_co]


              flowchart TD
              pyochain.collections._sorted._views.SortedItemsView[SortedItemsView]
              pyochain.collections._sorted._views.BaseSortedView[BaseSortedView]
              pyochain.abc._views.PyoItemsView[PyoItemsView]
              pyochain.abc._views.PyoMappingView[PyoMappingView]
              pyochain.abc._set.PyoSet[PyoSet]
              pyochain.abc._sequences.PyoSequence[PyoSequence]
              pyochain.abc._sequences.PyoReversible[PyoReversible]
              pyochain.abc._collection.PyoCollection[PyoCollection]
              pyochain.abc._iterable.PyoIterable[PyoIterable]
              pyochain.abc._collection.PyoContainer[PyoContainer]
              pyochain.abc._collection.PyoSized[PyoSized]
              pyochain.abc._mixins.Checkable[Checkable]
              pyochain.abc._mixins.Fluent[Fluent]
              pyochain.abc._mixins.Pipe[Pipe]
              pyochain.abc._mixins.Tap[Tap]

                              pyochain.collections._sorted._views.BaseSortedView --> pyochain.collections._sorted._views.SortedItemsView
                
                pyochain.abc._views.PyoItemsView --> pyochain.collections._sorted._views.SortedItemsView
                                pyochain.abc._views.PyoMappingView --> pyochain.abc._views.PyoItemsView
                                pyochain.abc._collection.PyoSized --> pyochain.abc._views.PyoMappingView
                                pyochain.abc._mixins.Checkable --> pyochain.abc._collection.PyoSized
                


                pyochain.abc._set.PyoSet --> pyochain.abc._views.PyoItemsView
                                pyochain.abc._collection.PyoCollection --> pyochain.abc._set.PyoSet
                                pyochain.abc._iterable.PyoIterable --> pyochain.abc._collection.PyoCollection
                                pyochain.abc._mixins.Checkable --> pyochain.abc._iterable.PyoIterable
                
                pyochain.abc._mixins.Fluent --> pyochain.abc._iterable.PyoIterable
                                pyochain.abc._mixins.Pipe --> pyochain.abc._mixins.Fluent
                
                pyochain.abc._mixins.Tap --> pyochain.abc._mixins.Fluent
                


                pyochain.abc._collection.PyoContainer --> pyochain.abc._collection.PyoCollection
                                pyochain.abc._mixins.Checkable --> pyochain.abc._collection.PyoContainer
                

                pyochain.abc._collection.PyoSized --> pyochain.abc._collection.PyoCollection
                                pyochain.abc._mixins.Checkable --> pyochain.abc._collection.PyoSized
                




                pyochain.abc._sequences.PyoSequence --> pyochain.collections._sorted._views.SortedItemsView
                                pyochain.abc._sequences.PyoReversible --> pyochain.abc._sequences.PyoSequence
                                pyochain.abc._iterable.PyoIterable --> pyochain.abc._sequences.PyoReversible
                                pyochain.abc._mixins.Checkable --> pyochain.abc._iterable.PyoIterable
                
                pyochain.abc._mixins.Fluent --> pyochain.abc._iterable.PyoIterable
                                pyochain.abc._mixins.Pipe --> pyochain.abc._mixins.Fluent
                
                pyochain.abc._mixins.Tap --> pyochain.abc._mixins.Fluent
                



                pyochain.abc._collection.PyoCollection --> pyochain.abc._sequences.PyoSequence
                                pyochain.abc._iterable.PyoIterable --> pyochain.abc._collection.PyoCollection
                                pyochain.abc._mixins.Checkable --> pyochain.abc._iterable.PyoIterable
                
                pyochain.abc._mixins.Fluent --> pyochain.abc._iterable.PyoIterable
                                pyochain.abc._mixins.Pipe --> pyochain.abc._mixins.Fluent
                
                pyochain.abc._mixins.Tap --> pyochain.abc._mixins.Fluent
                


                pyochain.abc._collection.PyoContainer --> pyochain.abc._collection.PyoCollection
                                pyochain.abc._mixins.Checkable --> pyochain.abc._collection.PyoContainer
                

                pyochain.abc._collection.PyoSized --> pyochain.abc._collection.PyoCollection
                                pyochain.abc._mixins.Checkable --> pyochain.abc._collection.PyoSized
                





              click pyochain.collections._sorted._views.SortedItemsView href "" "pyochain.collections._sorted._views.SortedItemsView"
              click pyochain.collections._sorted._views.BaseSortedView href "" "pyochain.collections._sorted._views.BaseSortedView"
              click pyochain.abc._views.PyoItemsView href "" "pyochain.abc._views.PyoItemsView"
              click pyochain.abc._views.PyoMappingView href "" "pyochain.abc._views.PyoMappingView"
              click pyochain.abc._set.PyoSet href "" "pyochain.abc._set.PyoSet"
              click pyochain.abc._sequences.PyoSequence href "" "pyochain.abc._sequences.PyoSequence"
              click pyochain.abc._sequences.PyoReversible href "" "pyochain.abc._sequences.PyoReversible"
              click pyochain.abc._collection.PyoCollection href "" "pyochain.abc._collection.PyoCollection"
              click pyochain.abc._iterable.PyoIterable href "" "pyochain.abc._iterable.PyoIterable"
              click pyochain.abc._collection.PyoContainer href "" "pyochain.abc._collection.PyoContainer"
              click pyochain.abc._collection.PyoSized href "" "pyochain.abc._collection.PyoSized"
              click pyochain.abc._mixins.Checkable href "" "pyochain.abc._mixins.Checkable"
              click pyochain.abc._mixins.Fluent href "" "pyochain.abc._mixins.Fluent"
              click pyochain.abc._mixins.Pipe href "" "pyochain.abc._mixins.Pipe"
              click pyochain.abc._mixins.Tap href "" "pyochain.abc._mixins.Tap"
            

Sorted items view is a dynamic view of the sorted dict's items.

When the sorted dict's items change, the view reflects those changes.

The items view implements the set and sequence abstract base classes.

Example
from pyochain import Vec
from pyochain.collections import SortedDict

siv = SortedDict(a=1, b=2, c=3).items()
assert siv[0] == ("a", 1)
assert siv[-1] == ("c", 3)
assert siv[:] == Vec(("a", 1), ("b", 2), ("c", 3))
Source code in pyochain/collections/_sorted/_views.pyi
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
class SortedItemsView(
    BaseSortedView[_K_co, _V_co],
    PyoItemsView[_K_co, _V_co],
    PyoSequence[tuple[_K_co, _V_co]],
    Generic[_K_co, _V_co],  # ruff:ignore[non-pep695-generic-class]
):
    """Sorted items view is a dynamic view of the sorted dict's items.

    When the sorted dict's items change, the view reflects those changes.

    The items view implements the set and sequence abstract base classes.

    Example:
        ```python
        from pyochain import Vec
        from pyochain.collections import SortedDict

        siv = SortedDict(a=1, b=2, c=3).items()
        assert siv[0] == ("a", 1)
        assert siv[-1] == ("c", 3)
        assert siv[:] == Vec(("a", 1), ("b", 2), ("c", 3))
        ```

    """

    @overload
    def __getitem__(self, index: int) -> tuple[_K_co, _V_co]: ...
    @overload
    def __getitem__(self, index: slice) -> Vec[tuple[_K_co, _V_co]]: ...
    @override
    def __getitem__(
        self, index: int | slice
    ) -> tuple[_K_co, _V_co] | Vec[tuple[_K_co, _V_co]]:
        """Lookup item at `index` in sorted items view.

        ``siv.__getitem__(index)`` <==> ``siv[index]``

        Supports slicing.

        Runtime complexity: `O(log(n))` -- approximate.

        Args:
            index (int | slice): integer or slice for indexing

        Returns:
            tuple[_K_co, _V_co] | Vec[tuple[_K_co, _V_co]]: item or list of items

        Examples:
            ```python
            from pyochain import Vec
            from pyochain.collections import SortedDict
            import pytest

            sd = SortedDict(a=1, b=2, c=3)
            siv = sd.items()
            assert siv[0] == ("a", 1)
            assert siv[-1] == ("c", 3)
            assert siv[:] == Vec(("a", 1), ("b", 2), ("c", 3))
            with pytest.raises(IndexError):
                siv[100]
            ```

        """

    @classmethod
    @override
    # pyrefly: ignore [bad-override]
    def _from_iterable(  # pyright: ignore[reportIncompatibleMethodOverride]
        cls, it: Iterable[tuple[_K_co, _V_co]]
    ) -> SortedSet[tuple[_K_co, _V_co]]: ...

__getitem__(index)

__getitem__(index: int) -> tuple[_K_co, _V_co]
__getitem__(index: slice) -> Vec[tuple[_K_co, _V_co]]

Lookup item at index in sorted items view.

siv.__getitem__(index) <==> siv[index]

Supports slicing.

Runtime complexity: O(log(n)) -- approximate.

Parameters:

Name Type Description Default
index int | slice

integer or slice for indexing

required

Returns:

Type Description
tuple[_K_co, _V_co] | Vec[tuple[_K_co, _V_co]]

tuple[_K_co, _V_co] | Vec[tuple[_K_co, _V_co]]: item or list of items

Examples:

from pyochain import Vec
from pyochain.collections import SortedDict
import pytest

sd = SortedDict(a=1, b=2, c=3)
siv = sd.items()
assert siv[0] == ("a", 1)
assert siv[-1] == ("c", 3)
assert siv[:] == Vec(("a", 1), ("b", 2), ("c", 3))
with pytest.raises(IndexError):
    siv[100]
Source code in pyochain/collections/_sorted/_views.pyi
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
@override
def __getitem__(
    self, index: int | slice
) -> tuple[_K_co, _V_co] | Vec[tuple[_K_co, _V_co]]:
    """Lookup item at `index` in sorted items view.

    ``siv.__getitem__(index)`` <==> ``siv[index]``

    Supports slicing.

    Runtime complexity: `O(log(n))` -- approximate.

    Args:
        index (int | slice): integer or slice for indexing

    Returns:
        tuple[_K_co, _V_co] | Vec[tuple[_K_co, _V_co]]: item or list of items

    Examples:
        ```python
        from pyochain import Vec
        from pyochain.collections import SortedDict
        import pytest

        sd = SortedDict(a=1, b=2, c=3)
        siv = sd.items()
        assert siv[0] == ("a", 1)
        assert siv[-1] == ("c", 3)
        assert siv[:] == Vec(("a", 1), ("b", 2), ("c", 3))
        with pytest.raises(IndexError):
            siv[100]
        ```

    """