Trait pyo3::prelude::PySequenceMethods

source ·
pub trait PySequenceMethods<'py>: Sealed {
Show 17 methods // Required methods fn len(&self) -> PyResult<usize>; fn is_empty(&self) -> PyResult<bool>; fn concat( &self, other: &Bound<'_, PySequence> ) -> PyResult<Bound<'py, PySequence>>; fn repeat(&self, count: usize) -> PyResult<Bound<'py, PySequence>>; fn in_place_concat( &self, other: &Bound<'_, PySequence> ) -> PyResult<Bound<'py, PySequence>>; fn in_place_repeat(&self, count: usize) -> PyResult<Bound<'py, PySequence>>; fn get_item(&self, index: usize) -> PyResult<Bound<'py, PyAny>>; fn get_slice( &self, begin: usize, end: usize ) -> PyResult<Bound<'py, PySequence>>; fn set_item<I>(&self, i: usize, item: I) -> PyResult<()> where I: ToPyObject; fn del_item(&self, i: usize) -> PyResult<()>; fn set_slice( &self, i1: usize, i2: usize, v: &Bound<'_, PyAny> ) -> PyResult<()>; fn del_slice(&self, i1: usize, i2: usize) -> PyResult<()>; fn count<V>(&self, value: V) -> PyResult<usize> where V: ToPyObject; fn contains<V>(&self, value: V) -> PyResult<bool> where V: ToPyObject; fn index<V>(&self, value: V) -> PyResult<usize> where V: ToPyObject; fn to_list(&self) -> PyResult<Bound<'py, PyList>>; fn to_tuple(&self) -> PyResult<Bound<'py, PyTuple>>;
}
Expand description

Implementation of functionality for PySequence.

These methods are defined for the Bound<'py, PySequence> smart pointer, so to use method call syntax these methods are separated into a trait, because stable Rust does not yet support arbitrary_self_types.

Required Methods§

source

fn len(&self) -> PyResult<usize>

Returns the number of objects in sequence.

This is equivalent to the Python expression len(self).

source

fn is_empty(&self) -> PyResult<bool>

Returns whether the sequence is empty.

source

fn concat( &self, other: &Bound<'_, PySequence> ) -> PyResult<Bound<'py, PySequence>>

Returns the concatenation of self and other.

This is equivalent to the Python expression self + other.

source

fn repeat(&self, count: usize) -> PyResult<Bound<'py, PySequence>>

Returns the result of repeating a sequence object count times.

This is equivalent to the Python expression self * count.

source

fn in_place_concat( &self, other: &Bound<'_, PySequence> ) -> PyResult<Bound<'py, PySequence>>

Concatenates self and other, in place if possible.

This is equivalent to the Python expression self.__iadd__(other).

The Python statement self += other is syntactic sugar for self = self.__iadd__(other). __iadd__ should modify and return self if possible, but create and return a new object if not.

source

fn in_place_repeat(&self, count: usize) -> PyResult<Bound<'py, PySequence>>

Repeats the sequence object count times and updates self, if possible.

This is equivalent to the Python expression self.__imul__(other).

The Python statement self *= other is syntactic sugar for self = self.__imul__(other). __imul__ should modify and return self if possible, but create and return a new object if not.

source

fn get_item(&self, index: usize) -> PyResult<Bound<'py, PyAny>>

Returns the indexth element of the Sequence.

This is equivalent to the Python expression self[index] without support of negative indices.

source

fn get_slice( &self, begin: usize, end: usize ) -> PyResult<Bound<'py, PySequence>>

Returns the slice of sequence object between begin and end.

This is equivalent to the Python expression self[begin:end].

source

fn set_item<I>(&self, i: usize, item: I) -> PyResult<()>
where I: ToPyObject,

Assigns object item to the ith element of self.

This is equivalent to the Python statement self[i] = v.

source

fn del_item(&self, i: usize) -> PyResult<()>

Deletes the ith element of self.

This is equivalent to the Python statement del self[i].

source

fn set_slice(&self, i1: usize, i2: usize, v: &Bound<'_, PyAny>) -> PyResult<()>

Assigns the sequence v to the slice of self from i1 to i2.

This is equivalent to the Python statement self[i1:i2] = v.

source

fn del_slice(&self, i1: usize, i2: usize) -> PyResult<()>

Deletes the slice from i1 to i2 from self.

This is equivalent to the Python statement del self[i1:i2].

source

fn count<V>(&self, value: V) -> PyResult<usize>
where V: ToPyObject,

Available on non-PyPy only.

Returns the number of occurrences of value in self, that is, return the number of keys for which self[key] == value.

source

fn contains<V>(&self, value: V) -> PyResult<bool>
where V: ToPyObject,

Determines if self contains value.

This is equivalent to the Python expression value in self.

source

fn index<V>(&self, value: V) -> PyResult<usize>
where V: ToPyObject,

Returns the first index i for which self[i] == value.

This is equivalent to the Python expression self.index(value).

source

fn to_list(&self) -> PyResult<Bound<'py, PyList>>

Returns a fresh list based on the Sequence.

source

fn to_tuple(&self) -> PyResult<Bound<'py, PyTuple>>

Returns a fresh tuple based on the Sequence.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'py> PySequenceMethods<'py> for Bound<'py, PySequence>