pub struct PyList(/* private fields */);Expand description
Represents a Python list.
Values of this type are accessed via PyO3’s smart pointers, e.g. as
Py<PyList> or Bound<'py, PyList>.
For APIs available on list objects, see the PyListMethods trait which is implemented for
Bound<'py, PyList>.
Implementations§
Source§impl PyList
impl PyList
Sourcepub fn new<'py, T, U>(
py: Python<'py>,
elements: impl IntoIterator<Item = T, IntoIter = U>,
) -> PyResult<Bound<'py, PyList>>where
T: IntoPyObject<'py>,
U: ExactSizeIterator<Item = T>,
pub fn new<'py, T, U>(
py: Python<'py>,
elements: impl IntoIterator<Item = T, IntoIter = U>,
) -> PyResult<Bound<'py, PyList>>where
T: IntoPyObject<'py>,
U: ExactSizeIterator<Item = T>,
Constructs a new list with the given elements.
If you want to create a PyList with elements of different or unknown types, or from an
iterable that doesn’t implement ExactSizeIterator, use PyListMethods::append.
§Examples
use pyo3::prelude::*;
use pyo3::types::PyList;
Python::with_gil(|py| {
let elements: Vec<i32> = vec![0, 1, 2, 3, 4, 5];
let list = PyList::new(py, elements)?;
assert_eq!(format!("{:?}", list), "[0, 1, 2, 3, 4, 5]");
})§Panics
This function will panic if element’s ExactSizeIterator implementation is incorrect.
All standard library structures implement this trait correctly, if they do, so calling this
function with (for example) Vec<T> or &[T] will always succeed.
Sourcepub fn new_bound<T, U>(
py: Python<'_>,
elements: impl IntoIterator<Item = T, IntoIter = U>,
) -> Bound<'_, PyList>where
T: ToPyObject,
U: ExactSizeIterator<Item = T>,
👎Deprecated since 0.23.0: renamed to PyList::new
pub fn new_bound<T, U>(
py: Python<'_>,
elements: impl IntoIterator<Item = T, IntoIter = U>,
) -> Bound<'_, PyList>where
T: ToPyObject,
U: ExactSizeIterator<Item = T>,
PyList::newDeprecated name for PyList::new.
Sourcepub fn empty_bound(py: Python<'_>) -> Bound<'_, PyList>
👎Deprecated since 0.23.0: renamed to PyList::empty
pub fn empty_bound(py: Python<'_>) -> Bound<'_, PyList>
PyList::emptyDeprecated name for PyList::empty.
Trait Implementations§
Source§impl PyTypeInfo for PyList
impl PyTypeInfo for PyList
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Source§fn is_type_of(obj: &Bound<'_, PyAny>) -> bool
fn is_type_of(obj: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Source§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
PyTypeInfo::type_objectPyTypeInfo::type_object.Source§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_type_ofPyTypeInfo::is_type_of.Source§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
PyTypeInfo::is_exact_type_ofPyTypeInfo::is_exact_type_of.